4

たぶん、あなたの何人かは私がしたのと同じ問題に遭遇したかもしれません. マシン上にファイルがあると想像してください: file:///c:\test.html

そして、このファイル内に IFrame があります。IFrame のコンテンツが読み込まれているかどうかを示す必要があります。

1. location、href、またはその他のプロパティは、 file:/// からhttp:///へ、またはその逆方向にはアクセスできません。2.残念ながら、ブラウザウィンドウからiframeまたは反対方向にイベントを発生させることはできません。

この問題に解決策はありますか? PS: ハックではありません。それは本当の問題です。Web サイト統合を使用して、ローカル マシンから何らかのやり取りを行います。

UPD: 禁止されている理由がちょっとわかりました。ローカル ファイルとのやり取りは、Web ページから禁止する必要があります。それはちょっとクールです、私は同意します。でも#ハッシュタグは誰にも害を及ぼさないものではないでしょうか? :(

4

1 に答える 1

2

これらのテクニックのいくつかが役に立つかもしれません: http://softwareas.com/cross-domain-communication-with-iframes

編集:以下のコメントによると、これらの手法は にアクセスするときは機能しないようですが、 にアクセスするfile:///c:\<path>\test.htmlときは機能しhttp://localhost/test.htmlます。

fileこれは、プロトコルがプロトコルよりもブラウザーによってさらに制限されているためだと思いhttpます。ファイル プロトコルのMSDN ページには、次のように記載されています。

Internet Explorer 6 Service Pack 1 (SP1) では、インターネット ゾーンからローカル コンピューターを参照できなくなりました。たとえば、インターネット サイトにローカル ファイルへのリンクが含まれている場合、ユーザーがそのリンクをクリックすると、Internet Explorer 6 SP1 は空白のページを表示します。以前のバージョンの Windows Internet Explorer は、ローカル ファイルへのリンクをたどっていました。

プロトコルを使用していたため、クロスドメイン通信を取得するために使用していた手法が何であれ、ブラウザによってブロックされた可能性がありfileます。

于 2009-10-14T20:04:47.840 に答える