第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用jQuery公開(kāi)IFrame的DOM?

如何使用jQuery公開(kāi)IFrame的DOM?

如何使用jQuery公開(kāi)IFrame的DOM?我有一個(gè)代表特定IFrame的原型。該原型有一個(gè)名為GoToUrl(...)的函數(shù),用于打開(kāi)IFrame中的給定URL。我的問(wèn)題是:如何創(chuàng)建“InternalDOM”屬性并使此屬性引用IFrame里面的“窗口”對(duì)象(根DOM對(duì)象)?以這種方式:如果我的IFrame公開(kāi)了一個(gè)頁(yè)面,其中有一個(gè)對(duì)象X的“窗口”對(duì)象,我可以這樣做:MyFrameObject.GoToUrl(pageXurl);MyFrameObject.InternalDOM.X任何幫助,將不勝感激。PS:我會(huì)接受不一定與jQuery相關(guān)的答案,但我更喜歡jQuery解決方案。
查看完整描述

3 回答

?
萬(wàn)千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

要獲取window幀的對(duì)象,您可以使用該window.frames數(shù)組:

var iframewindow= frames['iframe_name'];

這要求你提供<iframe>一個(gè)舊學(xué)校的name屬性,而不是像id?;蛘撸绻阒理?yè)面上iframe的順序,你可以用數(shù)字索引它們:

var iframewindow= frames[0];

從DOM中的iframe元素獲取iframe窗口通常更靈活,但這需要一些兼容性代碼來(lái)處理IE:

var iframe= document.getElementById('iframe_id');var iframewindow= iframe.contentWindow? iframe.contentWindow : iframe.contentDocument.defaultView;

jQuery的定義內(nèi)容()方法來(lái)獲取document節(jié)點(diǎn),但它不會(huì)給你一個(gè)跨瀏覽器的方式從去documentwindow,所以你還是堅(jiān)持了:

var iframe= $('#iframe_id')[0];var iframewindow= iframe.contentWindow? iframe.contentWindow : iframe.contentDocument.defaultView;

這不是一個(gè)真正的大勝利。

(注意:使用jQuery進(jìn)行跨框架腳本時(shí)要非常小心。每個(gè)框架需要自己的jQuery副本,一個(gè)框架副本的方法不一定適用于另一個(gè)框架的節(jié)點(diǎn)??缈蚣苣_本是一個(gè)充滿(mǎn)主題的主題陷阱。)


查看完整回答
反對(duì) 回復(fù) 2019-08-02
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

把它們加起來(lái)

從父頁(yè)面訪問(wèn)iframe內(nèi)容

var iframe = $('iframe').contents(); // iframe.find('..') ...

從iframe訪問(wèn)父頁(yè)面內(nèi)容

var parent = $(window.parent.document); // parent.find('..') ...

僅當(dāng)父頁(yè)面和iframe頁(yè)面位于同一域時(shí)才適用。

編輯:在加載子iframe示例:

父html

<iframe id="iframe1" src="iframe1.html"></iframe><iframe id="iframe2" src="iframe2.html"></iframe>

父母js

$(function () {
    var iframe1 = null,
        iframe2 = null;

    // IE8/7
    var frameInterval = window.setInterval(function () {
        iframe1 = $('#iframe1').contents();
        iframe2 = $('#iframe2').contents();
        if ($('head', iframe1).length && $('head', iframe2).length) {
            window.clearInterval(frameInterval);
        }
    }, 100);

    // on iframe loaded
    $('#iframe1').on('load', function (e) {
        iframe1 = $('#iframe1').contents();
    });
    $('#iframe2').on('load', function (e) {
        iframe2 = $('#iframe2').contents();
    });});

包括IE9在內(nèi)的所有主流瀏覽器都使用這些on('load')線路。只有IE8 / 7需要間隔塊。


查看完整回答
反對(duì) 回復(fù) 2019-08-02
?
繁華開(kāi)滿(mǎn)天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊

var frames = window.frames || window.document.frames;

用于iframe中的窗口。

frames["myIframeId"].window

用于iframe中的文檔

frames["myIframeId"].window.document

對(duì)于iframe中的身體

frames["myIframeId"].window.document.body

用jquery在iframe中的body

var iframeBody = $(frames["myIframeId"].window.document).contents().find("body");

重要提示:您應(yīng)始終檢查文檔的狀態(tài)是否為“完成”,以便使用此文檔

if (frames["myIframeId"].window.document.readyState=="complete"){
   //ok}else{
   //perform a recursive call until it is complete}


查看完整回答
反對(duì) 回復(fù) 2019-08-02
  • 3 回答
  • 0 關(guān)注
  • 471 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)