1

javascript を使用して iframe のコンテンツにアクセスするには、次のように動作する必要があることを読みました。

document.getElementById("iframe_name").contentDocument

また

document.getElementyById("iframe_name").contentWindow.document

ただし、これらの方法はどちらも私にはうまくいきません。アクセスしようとしている iframe は、私が作成した Google フォームです。ホームページ用に作成した登録フォームです。ユーザーが入力したいくつかのフィールドで計算を行い、iframe の後に表示したいと考えています。JavaScript を使用してこれらのフィールドにアクセスすることは、私が考えることができる最良の方法です。アクセスできないのはなぜですか? 私の目標を達成するためのより良い方法はありますか?ありがとうございました。

4

3 に答える 3

1

サーバーから google.com のような外部ページにアクセスすることはできません。

于 2012-09-29T22:18:48.867 に答える
0

あなたが持っているものは正しいです。クロスブラウザーで動作する、より完全なシーケンスを次に示します。

var ifr=document.getElementById("iframe_name");
var doc=ifr.contentWindow||ifr.contentDocument;
if (doc.document) doc=doc.document;

更新: 別の回答で述べたように、これはドメイン間では機能しません (たとえば、mydomain.com から google.com にアクセスしようとした場合)。

于 2012-09-29T21:40:26.080 に答える
0

あなたが何をしたいのかわかりませんが、多分これはあなたを助けるでしょう..

これを使用してフレームをリロードしました

document.getElementById('graphFrame').contentDocument.location.reload(true);

location 属性が iframe に関連付けられていることがわかります。

次に、このように Iframe 内の div を変更しています。

top.frames["graphFrame"].document.getElementById('right_example');

したがって、top.frames はページ フレームの配列です。次に、彼の ID が「right_example」である dom 要素を探しています。それで、やりたいことが何でもできます。

于 2012-09-29T21:41:56.140 に答える