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