0

質問はほとんどそれを要約しています。Gmail に似たようなことをしようとしています。テキスト フィールドに何かを入力すると、そのページを離れたいかどうかを確認するように Web サイトから求められます。

しかし、問題のテキスト フィールドが iframe にある場合はどうなるでしょうか。明らかに、iframeにIDを割り当てることができますが、iframeのフィールドが空かどうかを確認できるjavascriptコマンドまたは何かがありますか? これは可能ですか?

編集: iframe ソースと iframe が埋め込まれているページは同じドメインのものです。

4

3 に答える 3

2
var value = document.getElementById('iframeID').contentDocument
                    .getElementById('theTextBoxId').value;

はい、可能です。 で<iframe>ドキュメントにアクセスする必要があるだけですcontentDocument

DOM の iframe 要素から、スクリプトは contentWindow プロパティを介して、含まれている HTML ページの window オブジェクトにアクセスできます。contentDocument プロパティは、iframe 内のドキュメント要素 (これは contentWindow.document と同等) を参照しますが、IE8 より前のバージョンの Internet Explorer ではサポートされていません。

フレームのコンテンツにアクセスしようとするスクリプトは、同一オリジン ポリシーの対象となり、別のドメインから読み込まれた場合、他のウィンドウ オブジェクトのほとんどのプロパティにアクセスできません。

MDN

于 2013-01-15T02:14:29.397 に答える
1

onbeforeunloadiframe のページがトップレベルのページであるかのように設定するだけです。親フレームまたは子フレームでナビゲートしようとすると、確認によって中断されます。

于 2013-01-15T02:16:09.617 に答える
1

JQuery を使用すると、iframe コンテンツにアクセスできます。

$("#iFrame").contents().find("#text")
于 2013-01-15T02:19:13.467 に答える