亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當iframe完成加載時JavaScript回調?

當iframe完成加載時JavaScript回調?

HUWWW 2019-07-20 09:28:55
當iframe完成加載時JavaScript回調?當iframe完成加載時,我需要執行回調。我無法控制iframe中的內容,所以我不能從那里啟動回調。這個iframe是編程創建的,我需要將其數據作為回調中的變量傳遞,并銷毀iframe。有什么想法嗎?編輯:我現在擁有的是:function xssRequest(url, callback){     var iFrameObj = document.createElement('IFRAME');     iFrameObj.src = url;                 document.body.appendChild(iFrameObj);        $(iFrameObj).load(function()      {         document.body.removeChild(iFrameObj);         callback(iFrameObj.innerHTML);     });}此回調在iframe加載之前進行,因此回調不返回數據。
查看完整描述

3 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

首先,使用函數名xssRequest聽起來你在嘗試跨站點請求-如果是這樣的話,你將無法讀取iframe的內容。

另一方面,如果iframe的URL在您的域中,您可以訪問主體,但是我發現,如果我使用超時來刪除iframe,回調可以正常工作:

// possibly excessive use of jQuery - but I've got a live working example in production$('#myUniqueID').load(function () {
  if (typeof callback == 'function') {
    callback($('body', this.contentWindow.document).html());
  }
  setTimeout(function () {$('#frameId').remove();}, 50);});


查看完整回答
反對 回復 2019-07-20
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

我使用的是jQuery,令人驚訝的是,這似乎是加載的,因為我剛剛測試并加載了一個沉重的頁面,直到我看到iframe加載時才收到警報:

$('#the_iframe').load(function(){
????alert('loaded!');});

因此,如果您不想使用jQuery,看看它們的源代碼,看看這個函數在iframe DOM元素中的行為是否不同,我將在稍后查看它。


查看完整回答
反對 回復 2019-07-20
  • 3 回答
  • 0 關注
  • 2828 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號