Tengo un sitio que tiene un problema solo con IE8:
El codigo es:
var w = window.open(urlstring, wname, wfeatures, 'false');
El error es:
Mensaje: argumento no válido.
Línea: 419 Char: 5
Código: 0
URI: http: //HOSTNAME/js_context.js
He confirmado el número de línea del código (la "Línea" y el "URI" son correctos) y entiendo que en versiones posteriores de IE8, esto se considera correcto.
He verificado todos los parámetros entrantes en la llamada volcando alertas, y todos parecen válidos.
Este problema no ocurre en FF (probablemente 3).
ACTUALIZAR:
El problema parece estar en usar la asignación del resultado de window.open () al hacer "var w". Cuando divido la línea en dos declaraciones, funciona en IE8.
ACTUALIZACIÓN2:
Residencia en:
http://javascript.crockford.com/code.html
Cuando una función debe invocarse inmediatamente, toda la expresión de invocación debe estar envuelta en parens para que quede claro que el valor que se produce es el resultado de la función y no la función en sí.
Esto no es exactamente lo que está sucediendo aquí, pero descubrí que aplicar el principio resolvió el problema, en el modo de compatibilidad de IE8.
var w = (window.open(urlstring, wname, wfeatures, false));