J'ai un site qui a un problème IE8 seule:ie8 var w = window.open() - "Message: argument invalide."
Le code est:
var w = window.open(urlstring, wname, wfeatures, 'false');
L'erreur est:
Message: Invalid argument.
Line: 419 Char: 5
Code: 0
URI: http://HOSTNAME/js_context.js
Je confirme le numéro de ligne du code (la "ligne" et "URI" sont corrects), et je comprends dans les versions ultérieures de IE8, cela est considéré comme précis.
J'ai vérifié tous les paramètres entrants dans l'appel en vidant les alertes, et ils semblent tous valides.
Ce problème ne se produit pas sur FF (probablement 3).
MISE À JOUR:
Le problème semble être en utilisant l'affectation du résultat de window.open() lors d'un "var w". Lorsque je divise la ligne en deux instructions cela fonctionne dans IE8.
MAJ2:
Basé sur:
http://javascript.crockford.com/code.html
When a function is to be invoked immediately, the entire invocation expression should be wrapped in parens so that it is clear that the value being produced is the result of the function and not the function itself.
Ce n'est pas exactement ce qui se passe ici, mais je trouve que l'application du principe résolu le problème, dans le mode de compatibilité IE8 .
var w = (window.open(urlstring, wname, wfeatures, false));
J'ai eu le même problème, et le post de David est la meilleure réponse. Merci pour votre message et pour l'aide de David. – Ervin