0

だから私はiFrameを持つhtmlを持っています。

<iframe src="frame.html" width="2000" height="1000"></iframe>

ここで、iFrame js 内から、jQuery の append 関数を呼び出して、親ウィンドウに DIV を追加しようとしています...

$("body", window.parent.document).append("<div id=\"test\" ></div>");

そのコードは FireFox と IE では完全に正常に動作しますが、何らかの理由で Chrome では動作しません。この原因をグーグルで調べてみましたが、運がほとんどまたはまったくありませんでした。

参考までに、これはすべて jQuery 2.0.0 で行われました。

4

1 に答える 1

1

現在、自分のコンピューターで開発しているため、パスを提供して各 iframe にアクセスしています。

それが問題です。ローカル Web サーバーを使用し、http://(またはhttps://) URL 経由でテストします。Web ページとして意図したものを後でfile://URL 経由でテストすると、誤解を招きます。

この場合、あなたのコメントの疑いは正しいです: It's the Same Origin Policy . ブラウザーが異なれば、オリジンnull(ローカル ファイル システム) の扱いも異なります。ウィンドウがローカル ファイルからロードされている場合、Chrome は他のウィンドウへのアクセスを許可しません。

于 2013-05-11T09:15:53.487 に答える