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で機能します。
UPDATE2:
に基づく:
http://javascript.crockford.com/code.html
関数をすぐに呼び出す場合は、生成される値が関数自体ではなく関数の結果であることを明確にするために、呼び出し式全体を括弧で囲む必要があります。
これはまさにここで起こっていることではありませんが、IE8の互換性モードでは、原則を適用することで問題が解決されることがわかりました。
var w = (window.open(urlstring, wname, wfeatures, false));