18

私はこのページでテストしていますが、何が欠けているのかわかりません。

// Two frames on the page
> document.getElementsByTagName("frame").length
2

// Same domain, so no security restrictions
> document.getElementsByTagName("frame")[0].src
"http://www.quackit.com/html/templates/frames/menu_1.html"
> window.location.href
"http://www.quackit.com/html/templates/frames/frames_example_1.html"

// Can't access the document
> document.getElementsByTagName("frame")[0].document
undefined

これでうまくいくようですが、何が問題なのでしょうか。IE8で動作する必要がありますが、Chrome(最新の安定版)でもテストしています。

4

2 に答える 2

37

フレームのコンテンツを取得するための万能の方法は、次のようなものです。

var theFrame = document.getElementsByTagName("frame")[0];
var theFrameDocument = theFrame.contentDocument || theFrame.contentWindow.document;
var button = theFrameDocument.getElementById("mybutton");

ただし、<frame>次のように、その名前を使用して'sドキュメントを取得することは可能です。

window.frames["frame_name"].document

HTMLが次の場合:

<frame name="frame_name">...</frame>
于 2013-02-18T20:37:40.730 に答える
1

あなたが使うことができます

parent.frame.location.href = ...

ここで、frameは、変更するフレームの名前/IDです。

マークに挨拶

于 2013-02-18T20:32:13.367 に答える