У меня есть сайт с проблемой только для IE8:
Код:
var w = window.open(urlstring, wname, wfeatures, 'false');
Ошибка:
Сообщение: неверный аргумент.
Линия: 419
Char: 5
Код: 0
URI: http://HOSTNAME/js_context.js
Я подтвердил номер строки кода («Строка» и «URI» верны), и я понимаю, что в более поздних версиях IE8 это считается точным.
Я проверил все входящие параметры в вызове, сбросив оповещения, и все они выглядят действительными.
Эта проблема не возникает на FF (вероятно, 3).
UPDATE:
Проблема заключается в использовании присваивания результата window.open () при выполнении «var w». Когда я разделяю строку на два утверждения, это работает в IE8.
ОБНОВЛЕНИЕ 2:
На основании:
http://javascript.crockford.com/code.html
Когда должна быть вызвана функция
немедленно весь вызов
выражение должно быть обернуто в паранах
так что понятно что значение
производится является результатом
функция, а не сама функция.
Это не совсем то, что здесь происходит, но я обнаружил, что применение принципа решило проблему в режиме совместимости IE8.
var w = (window.open(urlstring, wname, wfeatures, false));