Ho un sito che ha un problema solo con IE8:
Il codice è:
var w = window.open(urlstring, wname, wfeatures, 'false');
L'errore è:
Messaggio: argomento non valido.
Linea: 419 Carattere: 5
Codice: 0
URI: http: //HOSTNAME/js_context.js
Ho confermato il numero di riga del codice ("Line" e "URI" sono corretti) e ho capito che nelle versioni successive di IE8 questo è considerato accurato.
Ho controllato tutti i parametri in entrata nella chiamata scaricando gli avvisi e sembrano tutti validi.
Questo problema non si verifica su FF (probabilmente 3).
AGGIORNARE:
Il problema sembra essere nell'usare l'assegnazione del risultato di window.open () quando si esegue "var w". Quando ho diviso la riga in due istruzioni, funziona in IE8.
UPDATE2:
Basato su:
http://javascript.crockford.com/code.html
Quando una funzione deve essere invocata immediatamente, l'intera espressione di chiamata deve essere racchiusa tra parentesi in modo che sia chiaro che il valore prodotto è il risultato della funzione e non la funzione stessa.
Non è esattamente quello che sta succedendo qui, ma ho scoperto che l'applicazione del principio ha risolto il problema, nella modalità di compatibilità di IE8.
var w = (window.open(urlstring, wname, wfeatures, false));