IE8 のみの問題があるサイトがあります。
コードは次のとおりです。
var w = window.open(urlstring, wname, wfeatures, 'false');
エラーは次のとおりです。
メッセージ: 引数が無効です。
行: 419 文字: 5
コード: 0
URI: http://HOSTNAME/js_context.js
コードの行番号を確認しました ("行" と "URI" は正しいです)。IE8 の以降のバージョンでは、これは正確であると見なされます。
アラートをダンプして、呼び出しのすべての着信パラメーターを確認しましたが、すべて有効に見えます。
この問題は FF (おそらく 3) では発生しません。
アップデート:
問題は、「var w」を実行するときに window.open() の結果を代入することにあるようです。行を 2 つのステートメントに分割すると、IE8 で機能します。
更新 2:
に基づく:
http://javascript.crockford.com/code.html
関数をすぐに呼び出す場合は、生成される値が関数自体ではなく関数の結果であることを明確にするために、呼び出し式全体を括弧で囲む必要があります。
これは正確にはここで起こっていることではありませんが、IE8 の互換性モードで原則を適用すると問題が解決することがわかりました。
var w = (window.open(urlstring, wname, wfeatures, false));