3

ページに 4 つの iframe があり、それぞれが読み込まれると、(空)にsrc設定されます。jQuery を使用して""、ページ セットの別の URL への別のリンクをクリックします。srcこれは FF、Chrome、Safari などでは問題なく動作しますが、IE では次のようになります。

" Permission Denied - jquery.js?1350498802, line 103 character 430"

私が見つけたものから、これはセキュリティ機能 IE が XSS 攻撃を防ぐためです。問題は、iframe に読み込んでいるページが、読み込んでいるページとは異なるドメインにあることです。iframe が取得しているドメイン内のコードにアクセスできないsrcので、このエラーを発生させずにそれらのページをロードできる方法はありますか?

必要に応じてコードを投稿できますが、複雑なことは何もありません。リンクがクリックされるまでは空の iframe であり、その時点で をsrc使用して iframe が変更され$("#iframe").attr("src", link);ます。

前もって感謝します!

4

4 に答える 4

3

jQuery を使用してこの単純なタスクを実行する代わりに、HTML を使用します。

<a target="myIframe" href="http://www.google.com">Google</a>
<iframe id="myIframe" src="about:blank"></iframe>
于 2012-10-17T19:56:23.123 に答える
1

srcを必要なドメインに変更し、すべてのステートメント設定srcを削除し""て、問題を解決しました。みんな助けてくれてありがとう!

于 2012-10-18T17:34:54.477 に答える
1

あなたの問題はこれに関連している可能性があります。iframe URLの設定方法を再確認してください

javascriptを使用してiframeソースを変更する

お役に立てれば。

于 2012-10-17T19:57:53.570 に答える
1

通常、このクロスドメインの問題を回避するために、プロキシ ページと呼ばれるものを作成できます。基本的に、iframe の を独自のドメインのページに設定します (たとえば、srcそれを呼び出しましょう)。proxyFrame.php

コードでproxyFrame.phpは、iframe にロードする実際のページからコンテンツをフェッチします。php で使用できますfile_get_contents()

使用しているバックエンド コードの種類は指定されていませんが、どの言語でも URL からコンテンツを取得する同様の方法があると確信しています。

于 2012-10-17T19:58:30.000 に答える