1

window.open('','','width=200,height=100')以下のこのコードは、コード行が実行された後、IE8ブラウザーでjaavascriptエラーで実行されます。新しいウィンドウが開きますが、「jQueryisundefined」というエラーで実行されます。ここではjQueryをまったく使用していませんが、確かに、サイト全体で使用しています。

var newWindow = window.open('','','width=200,height=100')                
newWindow.document.write(someHmtlAsString);
newWindow.document.close();
newWindow.focus();

誰かがこれがなぜそうなのか、またはページのレンダリング中にjavascriptエラーを排除するIE(IEのハック)にいくつかのバグがあるのか​​という提案がありますか?

ありがとう

4

2 に答える 2

0

someHmtlAsString挿入する<script>と、jQueryを使用しようとするタグが含まれているようです。その内容を調べ、その場合は、タグを追加してjQueryをロードするか、コードを変更して使用しないようにします。

于 2012-07-30T21:03:07.333 に答える
0

about:blankそれらを制御したい場合は、新しいウィンドウと iframe のソースを に設定する必要があります。

また、使用したい場合newWindow.contentDocument || newWindow.contentWindow.document
は、open()その前にドキュメントを作成することをお勧めwrite()します。

更新:これを忘れました:ウィンドウについて:空白を開くと、ロードするのに時間がかかります..
したがって、一度に書き込むことはできません!!
したがって、ロードされているかどうかを確認して(onload)、ソースを書き込むようにします(私はこれを好みます)。
または、約 50 ミリ秒 (通常) のタイムアウトを設定してから、新しいウィンドウ/iframe に書き込みます。

また、xhtml はサポートしていないことに注意してくださいdocument.write!!

幸運を!

于 2012-07-30T21:01:40.027 に答える