Saya memiliki situs yang memiliki masalah khusus IE8:
Kodenya adalah:
var w = window.open(urlstring, wname, wfeatures, 'false');
Kesalahannya adalah:
Pesan: Argumen tidak valid.
Baris: 419 Karakter: 5
Kode: 0
URI: http: //HOSTNAME/js_context.js
Saya telah mengonfirmasi nomor baris kode ("Baris" dan "URI" sudah benar), dan saya mengerti di versi IE8 yang lebih baru, ini dianggap akurat.
Saya telah memeriksa semua parameter yang masuk dalam panggilan dengan membuang peringatan, dan semuanya terlihat valid.
Masalah ini tidak terjadi di FF (mungkin 3).
MEMPERBARUI:
Masalahnya tampaknya dalam menggunakan menetapkan hasil window.open () saat melakukan "var w". Ketika saya membagi baris menjadi dua pernyataan itu berfungsi di IE8.
UPDATE2:
Berdasarkan:
http://javascript.crockford.com/code.html
Jika suatu fungsi akan dipanggil segera, seluruh ekspresi pemanggilan harus dibungkus dalam tanda kurung sehingga jelas bahwa nilai yang dihasilkan adalah hasil dari fungsi dan bukan fungsi itu sendiri.
Ini tidak persis apa yang terjadi di sini, tetapi saya menemukan bahwa menerapkan prinsip memecahkan masalah, dalam mode kompatibilitas IE8.
var w = (window.open(urlstring, wname, wfeatures, false));