tengo un sitio que tiene un IE8-único problema:ie8 var w = window.open() - "Mensaje: argumento no válido".
El código es:
var w = window.open(urlstring, wname, wfeatures, 'false');
El error es:
Message: Invalid argument.
Line: 419 Char: 5
Code: 0
URI: http://HOSTNAME/js_context.js
me han confirmado el número de línea del código (la "Línea" y "URI" son correctos), y entiendo en versiones posteriores de IE8, esto se considera correcto.
He comprobado todos los parámetros entrantes en la llamada arrojando alertas, y todos parecen válidos.
Este problema no ocurre en FF (probablemente 3).
ACTUALIZACIÓN:
El problema parece estar en uso de asignar el resultado de window.open() cuando se hace "W var". Cuando divido la línea en dos declaraciones, funciona en IE8.
Update2:
Basado en:
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.
Esto no es exactamente lo que está pasando aquí, pero he encontrado que la aplicación del principio resolvió el problema, en el modo de compatibilidad de Internet Explorer 8 .
var w = (window.open(urlstring, wname, wfeatures, false));
Tuve el mismo problema, y la publicación de David es la mejor respuesta. Gracias por tu publicación y por la ayuda de David. – Ervin