Pertanyaan IE8 Menolak untuk menjalankan Javascript dari Local Hard Drive


Saya memiliki masalah yang baru saja dimulai di kantor baru-baru ini dan manajer jaringan yakin dia tidak mengubah apa pun dengan kebijakan grup. Bagaimanapun, di sini adalah penjelasan rinci tentang masalah ini.

Mesin saya adalah Windows XP SP3, dan saya menggunakan IE8 untuk menjelajah. Kami memiliki perangkat lunak anti-virus McAffee yang tidak dapat saya konfigurasikan. Saya menggunakan file berikut untuk menguji ...

<!DOCTYPE html>
<html>
  <head>
    <title>Javascript Test</title>
  </head>
  <body>
    <script type="text/javascript">
      document.write("<h1>PASS</h1>");
    </script>
    <noscript>
      <h1>FAIL</h1>
    </noscript>
  </body>
</html>

Ketika saya membuka file ini dari drive C:, gagal setiap saat. Jika saya menjalankannya di tempat lain (server web lokal / jauh atau pada drive jaringan yang dipetakan), itu bekerja dengan baik. Ketika saya hanya menjelajahi Internet, Javascript di situs web berfungsi dengan baik. ini hanya gagal pada file yang berjalan dari drive C: saya. Selain itu, saya memiliki beberapa programmer lain di departemen mencoba file ini di drive C: mereka, dan berfungsi dengan baik untuk mereka. Jadi saya tidak percaya itu adalah masalah kebijakan kelompok.

Saya harus memperbaiki ini karena saya melakukan pengujian ekstensif dari drive C: saya, dan saya terbiasa melakukannya. Saya tidak ingin membiasakan memindahkan file ke drive yang berbeda hanya untuk menguji.

Hal-hal yang saya coba:

  • Diaktifkan "Izinkan Konten Aktif untuk Menjalankan File di Komputer Saya" di Opsi | Lanjutan | Keamanan
  • Diaktifkan "Izinkan Scripting Aktif" di Opsi | Keamanan | Tingkat Kustom
  • Diverifikasi bahwa "Skrip" tidak dicentang sebagai dinonaktifkan di Bilah Alat Pengembang
  • Menambahkan localhost ke Trusted Sites in Options
  • Nonaktifkan McAffee sepenuhnya (sebentar lagi, dengan bantuan dari admin jaringan)
  • Menggunakan DOCTYPE yang lebih lama di halaman pengujian HTML saya
  • Instal ulang IE8 sepenuhnya
  • Ran regsvr32 di JScript.dll
  • Keyboard dibanting

Saya yakin bahwa ada pengaturan di suatu tempat yang akan memperbaiki masalah ini, mungkin di registri. Saya tidak akan terkejut jika itu terkait dengan toolbar pengembang. Pada titik ini saya tidak tahu harus melihat ke mana lagi.

Adakah yang bisa membantu saya mengatasi masalah ini?

EDIT:  Terlepas dari bounty, masalah ini masih berlangsung.


4
2017-12-30 14:48


asal


baik, itu bekerja dengan baik untuk saya di WinXP / IE8 (seperti halnya untuk rekan-rekan Anda) jadi itu harus menjadi masalah lokal (dan saya TIDAK menggunakan McAfee :). jika Anda tidak dapat mengkonfigurasi perangkat lunak keamanan Anda, berbicaralah dengan departemen TI.
Mengapa tidak jalankan saja dari server web lokal Anda? Mengapa harus dijalankan dari drive C: Anda? - Mark
@Molly kami mencoba menonaktifkan McAffee sepenuhnya. Tidak beruntung. @Mark Tidak memiliki untuk. Saya menginginkannya karena lebih mudah untuk tes yang cepat dan kotor. Dan itu selalu berhasil sebelum jadi saya sangat terbiasa melakukan ini. - Josh Stodola
IE punya selalu meminta saya di bar informasi kuning di atas jendela untuk memungkinkan JavaScript dari "My Computer" (tampaknya karena akan memberikan akses ke sumber daya lokal, yang skrip dari situs web tidak mendapatkan; menangkap layar IE7 di img.skitch.com/20100106-khkek2wwscdxmak5x8k3y5gax3.png). Jadi, menurut saya itu di komputer Anda, peringatan tentang menjalankan skrip yang mungkin berbahaya telah menghilang? Mungkin Anda dapat menemukan sesuatu seperti "mengatur ulang semua peringatan"? Dan di opsi IE7 bahkan ada tombol untuk mengatur ulang semua pengaturan IE? Dan dapatkah Anda menciutkan / memperluas file XML lokal di IE? - Arjan
Dan apakah para programmer lain itu tidak mendapatkan peringatan itu di bar informasi? (Jadi: apakah skrip berjalan tanpa prompt di komputer mereka?) - Arjan


Jawaban:


Buka kunci registri

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\n

Dimana n adalah indeks zona, di mana 0 cara My Computer. Zona ini tidak tersedia di Opsi Internet. Setel Nilai 1400 untuk 0 untuk mengaktifkan Javascript.


4
2018-01-30 13:55





Sudahkah Anda mencoba menambahkan "Mark of the Web" di sumber HTML Anda?

Cukup tambahkan sesuatu seperti:

<!DOCTYPE html>
<!-- saved from url=(0021)http://www.google.com -->
<html>

Tanda Web adalah setelah tag DOCTYPE, sendirian pada baris terpisah, tepat sebelum <html>.

Lihat dokumentasi MSDN pada Tandai dari Web untuk bantuan penuh.


4
2018-01-11 18:26



Ide bagus. Ini masih merupakan solusi tentu saja, tapi ide bagus! - Arjan
... dan itu tidak memerlukan perubahan apa pun pada kebijakan keamanan Anda, pengaturan IE ... - AlexV
Ia bekerja, tetapi itu lumpuh. Terima kasih :) - Josh Stodola
Kenapa itu payah? Ini lebih baik daripada menurunkan keamanan seluruh sistem Anda hanya untuk satu halaman (dan kadang-kadang bahkan tidak mungkin). Mark of the Web ada di sini untuk itu dan ini adalah solusi terbaik untuk jenis masalah "IMO" ini. Jika ada sesuatu yang lemah, itu IE! :) - AlexV
@kentaromiura: Hanya satu tahun terlambat, tetapi karena masalah OP hanya terjadi ketika file: // digunakan, dalam kasus tertentu itu adalah solusi yang sangat cocok. - AlexV


jika komputer tunduk pada kebijakan keamanan perusahaan, Anda dapat mempertimbangkan untuk menyiapkan mesin virtual (misalnya dengan Kotak Virtual atau MS Virtual PC) untuk menguji skrip java Anda.

Microsoft menawarkan berbagai hard drive virtual pra-aktif (mereka bekerja dengan VirtualBox dan VPC) dengan Vista atau XP dan IE6, 7 dan 8. Kompatibilitas Aplikasi Internet Explorer Gambar VPCbebas dan set saat ini berlaku hingga 1 April 2010.


1
2018-01-05 15:03



Saya memahami opsi kerja saya, dan saya memiliki beberapa di antaranya. Namun, yang benar-benar ingin saya lakukan adalah mencari tahu mengapa ini tidak berfungsi pada mesin khusus ini. Seperti yang disebutkan dalam pertanyaan saya dan dalam komentar lain, saya telah menjadi terbiasa untuk menulis tes Javascript cepat dan kotor di desktop saya. Saya sudah melakukannya sejak tahun 2000, setidaknya. Ini kebiasaan yang sulit untuk dipecahkan dan itu membuatku marah kapan saya harus mengubah cara saya bekerja hanya karena satu mesin tertentu memutuskan untuk memberi saya waktu yang sulit. Ini konyol dan jauh dari ideal. Pasti ada solusinya. - Josh Stodola
masalahnya mungkin terkait dengan suite keamanan McAfee (yang tidak bisa Anda konfigurasikan?). jadi, sekali lagi, mesin virtual tanpa McAfee adalah salah satu cara cepat untuk mengetahuinya. maksud saya, tidak mungkin ada pemecahan masalah jika Anda tidak dapat menghilangkan tersangka utama, bukan?
@Molly, ketika saya mengomentari pertanyaan itu, kami sudah mencoba menonaktifkan McAffee sepenuhnya. Plus, rekan-rekan saya berada di bawah "kebijakan" McAffee yang sama dan semuanya berjalan sesuai harapan di mesin mereka. Saya akan memperbarui pertanyaan untuk menyertakan whay yang sudah saya coba. Terima kasih! - Josh Stodola
"mencoba untuk menonaktifkan" adalah ekspresi yang cukup sulit dipecahkan. apakah ada mesin yang identik di perusahaan Anda? kemudian memiliki satu kloning ke komputer Anda jika itu layak. berbicara tentang kloning, membuat gambar drive penuh, dan kemudian mulai merobeknya jika Anda benar-benar tertarik dengan penyebabnya. tidak terlalu hemat biaya dan saya hanya akan melakukannya untuk memuaskan keingintahuan profesional saya.
Biarkan saya ulang kata-kata itu ... menggunakan administrasi privelages, kami benar-benar menonaktifkan semua layanan McAffee pada mesin saya dan itu tidak memperbaiki masalah. Dua rekan sudah identik mesin seperti saya, dan mereka tidak punya masalah. Identik merentangkannya, karena jelas saya memiliki pengaturan pribadi saya yang tersimpan di profil pengguna saya. Saya telah mencoba masuk ke salah satu mesin yang identik, dan ketika saya melakukan itu, semuanya bekerja dengan baik. Masalah benar-benar dilokalkan ke mesin ini, dan saya tidak dapat menghindarinya karena saya akan kehilangan semua pengaturan lokal saya untuk aplikasi seperti Visual Studio, dll. Terima kasih :) - Josh Stodola


Saya tahu orang lain yang memiliki masalah ini, jadi saya menyelidikinya.

Setelah banyak usaha untuk mereplikasi kesalahan, saya menemukan pelakunya.

Baca ini: http://social.answers.microsoft.com/Forums/en-US/InternetExplorer/thread/2a0b55bf-6807-4f72-b10c-53f958af9b42 dan http://social.technet.microsoft.com/Forums/en-US/w7itprosecurity/thread/90c3202c-448b-42b7-acf7-dab8dba7b000

Tampaknya sesuatu (virus, atau pembaruan perangkat lunak) berantakan dengan zona internet.

Untuk memperbaiki masalah saya mengekspor semua registri dan dengan editor (ultraedit) mencari "\ Pengaturan Internet \ Zona \" menemukan kunci seperti "{Exadecimal-USER-IDENTITY} ... \ Pengaturan Internet \ Zona \ L" di mana L adalah karakter aneh yang menampilkan seperti L superskrip, Saat Anda menghapus javascript kunci itu akan mulai bekerja kembali.


1
2018-02-23 20:02





Berikut dua pemikiran yang dapat membantu:

Ubah namanya menjadi test.hta - ini akan meluncurkannya sebagai Aplikasi HTML, bukan hanya HTML biasa. Anda mungkin perlu menambahkan <HTA: APPLICATION> dengan beberapa atribut ke dalam elemen HEAD - tetapi seharusnya berfungsi seperti jagoan. Anda dapat membaca lebih lanjut tentang HTA di sini: http://msdn.microsoft.com/en-us/library/ms536496.aspx

Dapatkah Anda menggunakan server web lokal untuk mungkin mengatasi masalah sistem file? Jika Anda menginstal Visual Web Developer Express datang dengan server web yang dapat Anda gunakan untuk pengujian, atau Anda selalu dapat menginstal IIS (jika WinXP Pro), Apache, dll.


0
2018-01-06 16:59



Berubah menjadi .hta bekerja, tetapi tidak terbuka di Internet Explorer. Saya sadar akan opsi kerja di sekitar, tetapi pada akhirnya saya harus menjalankan JS pada drive C: di dalam file HTML. - Josh Stodola
HTA menggunakan mesin render yang sama dan Windows Scripting Host yang sama untuk menyediakan dukungan javascript sebagai Internet Explorer. Mengapa harus dibuka di Internet Explorer? Saya berpendapat bahwa sementara secara teknis itu tidak meluncurkan iexplore.exe - itu secara efektif berjalan identik dengan bagaimana hal itu akan di browser dengan pembatasan keamanan yang lebih longgar. Jika Anda membutuhkannya untuk dijalankan secara potensial di browser lain atau sistem operasi lain, itu akan mendorong persyaratan ... tetapi saya tidak melihatnya dari pertanyaan atau komentar Anda. - Goyuix
Intinya: ini adalah kerja-sekitar. Saya bukan penggemar pekerjaan. Saya tidak akan tidur sampai saya memahami masalah yang mendasarinya. Saya pikir itu perilaku alami untuk seorang programmer. Jangan tersinggung, ada masalah di sini yang saya inginkan memecahkan, tidak berhasil. - Josh Stodola


Mencoba mengedit pengaturan untuk DCOM

Pergi ke Run dan ketik dcomcnfg, di bawah layanan komponen klik kanan pada komputer saya dan pergi properti. Kemudian masuk ke Default properties dan Enable COM internet Services di komputer ini. juga periksa dan pastikan Tingkat Otentikasi Default diatur untuk menghubungkan dan tingkat Peniruan diatur ke Identifikasi.


0
2018-01-06 17:37



Sial, saya pikir ini akan berhasil, tetapi tidak ada dadu. Masalahnya masih ada. Terima kasih atas jawabannya! - Josh Stodola
apakah Anda reboot setelah? - jburke
Tidak, saya tidak melakukannya, tetapi saya akan mencobanya juga. - Josh Stodola
ok, biasanya pengaturan dcom tidak akan berfungsi sampai Anda reboot. semoga berhasil! - jburke
Mencoba me-reboot, masih tidak berhasil. Darn :( - Josh Stodola


Jika Anda masuk ke Opsi Internet / Tab Keamanan / Internet / Tombol Kustom, lalu gulir ke bawah ke bagian Lain-Lain, Anda akan menemukan beberapa entri yang mengontrol mesin JavaScript di IE8.

Anda dapat membandingkannya di komputer Anda dengan ini di komputer yang berfungsi.

Jika dengan ini Anda tidak menemukan masalah, Anda juga dapat melakukan hal yang sama
gpedit.msc / Kebijakan komputer lokal / Computer Configuration / Administrative Templates / Komponen Windows / Internet Explorer.
Anda dapat di sini klik kanan pada "Internet Explorer" dan Ekspor semua pengaturan ke file teks, yang akan membantu membandingkannya antara dua komputer.


0
2018-01-08 17:56



Saya akan mencoba ini, terima kasih! - Josh Stodola


Saya menduga ini tidak akan membantu, tetapi sudahkah Anda memeriksa kunci registri untuk memungkinkan skrip lokal untuk berjalan?

HKCU \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_LOCALMACHINE_LOCKDOWN

Di sebelah kanan, buat REG_DWORD baru bernama iexplore.exe dan atur ke 0

Nilai:

0 - Allows a Web page to run active content in your computer
1 - Disallows a Web page from running active content in your computer

Dokumen ini berisi beberapa kunci registri terkait lainnya yang mungkin ingin Anda lihat:

http://msdn.microsoft.com/en-us/library/ms537183(VS.85).aspx#registry


0
2018-01-08 19:22



Terima kasih, tetapi DWORD sudah ada di sana, dan set ke 0 :( - Josh Stodola
Saya akan melihat melalui entri registri lainnya sekalipun; terima kasih atas tautannya! - Josh Stodola


Saya tidak yakin Anda dapat menambahkan drive lokal ke dalam zona Situs tepercaya.

Anda harus memeriksa pembatasan ke dalam zona dan mengaturnya ke tingkat khusus dan aktifkan semua opsi yang menyangkut Scripting dan ActiveX, karena bahkan pada level terendah (pengaturan preset) masih ada batasan yang berlaku.

Saya memiliki masalah yang sama dengan IE6 dan saya bisa memperbaikinya dengan menghapus semua pembatasan zona default (Internet). Jika Anda entah bagaimana berhasil menambahkan file ke situs tepercaya, Anda harus mengatur zona ke "tingkat kustom" juga.

Saya pikir ini adalah pengaturan yang harus Anda pastikan:

Inisialisasi dan skrip Kontrol ActiveX tidak ditandai sebagai aman untuk scripting. - Ini memengaruhi "ditandai sebagai tidak aman" dan "tidak ditandai"


0
2018-01-08 21:21



Tampaknya tidak memungkinkan saya menambahkan C: ke zona situs tepercaya. Ini memberi saya beberapa pesan urutan wildcard tidak valid yang salah. Saya telah membandingkan semua pengaturan ActiveX dengan rekan-rekan saya, dan mereka identik. - Josh Stodola


Anda bisa mencoba untuk memverifikasi instalasi IE8 dengan menggunakan alat Microsoft yang ditemukan di:
Bagaimana mengatasi masalah instalasi Internet Explorer 8.

Artikel ini berisi a Fix It tombol yang melakukan pemecahan masalah umum untuk IE8.

Saya mengutip:

Masalah dengan menginstal Internet   Explorer 8 dapat disebabkan oleh berbeda   masalah. Itu sebabnya ada beberapa   metode pemecahan masalah yang Anda bisa   gunakan untuk mencoba menyelesaikan masalah Anda.

Untuk memperbaiki masalah ini secara otomatis,   klik tautan Perbaiki masalah ini. Kemudian   klik Jalankan di dialog Unduh Berkas   kotak, dan ikuti langkah-langkah dalam ini   penyihir.

Bahkan jika ini segera memperbaiki masalah Anda, Anda masih harus reboot dan periksa lagi. Jika masalah telah kembali, maka ini mungkin masalah GPO.

Selain itu, saya menemukan untaian menarik yang mungkin berlaku:
Setelah pembaruan IE8- Buka Peringatan Keamanan File untuk semua eksekusi lokal.

Saya mengutip:

Setelah mengambil banyak waktu dengan   registry, internet, dan beberapa   alkohol (hanya bercanda), saya pikir saya   menemukan sumber masalahnya. :) saya   Saya cukup yakin itu adalah sumbernya   itu, karena saya dapat mereproduksi saya   masalah dengan mengubah nilai dari a   kunci registri tertentu bolak-balik.   Ingin tahu? :) OK, ini dia:

Kunci registri berikut ini telah   diidentifikasi menyebabkan masalah:   [HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet   Pengaturan \ Lockdown_Zones \ 0]

Menurut KB182569   (http://support.microsoft.com/kb/182569)   kunci ini bertanggung jawab untuk:   "Miscellaneous: Meluncurkan aplikasi   dan file tidak aman. "

Artikel yang sama juga menyebutkan: "Catatan   Kecuali dinyatakan lain, setiap DWORD   nilai sama dengan nol, satu, atau tiga.   Biasanya, pengaturan nol menetapkan a   tindakan khusus sebagaimana diizinkan, a   pengaturan satu menyebabkan prompt untuk   muncul, dan pengaturan tiga   melarang tindakan spesifik. "

Saya menemukan bahwa jika saya menetapkan "1806" dword   nilai ke "0" dan kemudian gunakan tugas   manajer untuk membunuh tugas "penjelajah"   dan mulai lagi, masalahnya   lenyap. Jika saya mengubah nilainya   kembali ke "1" dan membunuh / memulai   penjelajah lagi, maka masalahnya adalah   kembali.

Sekarang saya mulai mencari sistem saya   menerapkan GPO dan menemukan yang itu   menyetel nilai ini ke "1" yang artinya   meminta pengguna. Ini diatur dalam a   GPO di bawah [User   Konfigurasi / Administrasi   Template / Komponen Windows / Internet   Kontrol Explorer / Internet   Halaman Panel / Keamanan / Kunci-Down Lokal   Program Machine Zone / Lauching dan   file tidak aman].

Seperti saya katakan, ini adalah sumber saya   masalah dan sekarang saya tahu bagaimana memperbaikinya.   Tapi yang aneh bagiku adalah itu   GPO yang sama berlaku untuk mesin IE7 dan   masalahnya tidak muncul di sana.   Menurut deskripsi GPO,   fitur ini didukung sejak IE7:

Meluncurkan program dan tidak aman   fileMenetapkan Path:

Konfigurasi Pengguna / Administrasi   Template / Komponen Windows / Internet   Kontrol Explorer / Internet   Halaman Panel / Keamanan / Lokal Terkunci   Zona MesinDitukung: Setidaknya   Internet Explorer 7.0ExplanationThis   pengaturan kebijakan mengontrol apakah atau tidak   "Buka File - Peringatan Keamanan"   prompt ditampilkan saat peluncuran   dieksekusi atau file tidak aman lainnya.

Misalnya, jika pengguna meluncurkan   dieksekusi dari berbagi file Intranet   menggunakan Windows Explorer, pengaturan ini   mengontrol apakah atau tidak sebuah prompt   ditampilkan sebelum file dibuka.

Jika Anda mengaktifkan pengaturan kebijakan ini dan   kotak dropdown disetel ke Aktifkan,   file akan terbuka tanpa keamanan   cepat. Jika kotak dropdown diatur ke   Prompt, akan muncul prompt keamanan   ditampilkan sebelum membuka file.

Jika Anda menonaktifkan pengaturan kebijakan ini,   file tidak akan dibuka.

Jika Anda tidak mengonfigurasi kebijakan ini   pengaturan, pengguna dapat mengkonfigurasi   perilaku cepat. Secara default, eksekusi   diblokir di Zona Terbatas,   diaktifkan di Intranet dan Lokal   Zona komputer, dan diatur untuk meminta masuk   Internet dan zona Tepercaya.

Jadi berdasarkan uraian tentang   fitur dan apa yang saya telah   mengalami, saya telah datang ke   kesimpulan bahwa IE7 menangani ini   salah fitur dan IE8 tidak   akhirnya menanganinya dengan benar. Ini   akan menjelaskan mengapa pembaruan ke IE8   menyebabkan fitur muncul.


0
2018-01-12 07:35





Satu-satunya cara untuk ini adalah pergi Internet Ooptions dan menempatkan localhost di dalam zona tepercaya, namun saya benar-benar tidak merekomendasikan ini karena dapat menyebabkan banyak masalah.

Saya sarankan Anda memasangnya juga Apache, Wamp Server (berisi Apache dalam paket yang mudah digunakan) atau IIS / Penginstal Platform Web (mengandung IIS dalam paket yang mudah digunakan).

Kemudian tergantung pada bagaimana Anda mengaturnya, Anda harus dapat mengakses situs melalui http: // computer_name - atau mengatur entri DNS tambahan untuk intranet atau yang serupa. Jika Anda memiliki banyak komputer yang perlu mengakses skrip ini, itu juga akan membuat pembaruan dan yang lainnya jauh lebih sederhana.

Edit -

Lihatlah pengaturan ini di Opsi Internet -

alt text


0
2018-01-05 14:49



Menambahkan localhost ke Trusted Sites tidak berfungsi. Saya menyadari bahwa saya dapat mengatur server, dan saya menggunakannya untuk pengembangan utama saya. Tapi kadang-kadang saya hanya akan menulis tes cepat dan kotor (kadang-kadang, untuk menjawab pertanyaan di situs web ini!) Dan simpan di desktop, di mana saya dapat dengan mudah mengeksekusi dan menghapusnya. Saya sudah terbiasa untuk melakukan ini, dan itu berfungsi dengan baik di semua komputer saya yang lain kecuali yang ini. Sesuatu adalah masalah, dan harus ada cara untuk memperbaikinya. - Josh Stodola
Mungkinkah itu versi Windows / Internet explorer? Itu karena (saya pikir) SP2 XP yang javascript diblokir secara lokal. - William Hilsum
... diperbarui - Sudahkah Anda memeriksanya - i50.tinypic.com/29vcx15.jpg - William Hilsum
@Wil Ya, dan saya menyebutkan itu dalam pertanyaan. Saya telah menyertakan beberapa hal lagi yang telah saya coba dalam pertanyaan itu juga. - Josh Stodola