0

iframe の ID がわかっている場合、ページ上の iframe DOM オブジェクトをどのように選択しますか? ページに複数の iframe があり、問題の iframe の位置がわからず、jQuery ソリューションもないと仮定します。私は次のことを思いつきましたが、それはもっと些細なことだと思います。

編集。次のようなプロパティにアクセスできるように、DOM オブジェクトを取得しようとしています。window.frames[0].innerHeight

function getIframe(id) {
    var iframe=null;
    for (var i = window.frames.length - 1; i >= 0; i--) {
        if(window.frames[i].frameElement.id==id){iframe=window.frames[i];break;}
    }
    return iframe;
}
4

2 に答える 2

1

この回答を参照してください:

JavaScript で iframe 要素にアクセスする

window.frames['myIFrame']

編集:

FF と Chrome でいくつかのテストを行い、次の結論に達しました。

window.frames["myFrame"]戻り値:

    `[object HTMLIFrameElement]` when on FF (v24)
    `[object Window]` when on Chrome (v 30.0.1599.101)

HTMLIFrameElementプロパティcontentWindowの iframe を取得するために、次のようなコントロールを作成できますWindow

var myFrame = (window.frames["myFrame"].contentWindow ? window.frames["myFrame"].contentWindow : window.frames["myFrame"])

このようにして、変数 myFrame にWindowオブジェクトが格納されます。

DOM 要素を取得したい場合は、次のようにHTMLIFrameElement簡単に実行できます。

var domElement = myFrame.frameElement

これが役立つことを願っています。

于 2013-10-24T12:19:23.967 に答える