簡體   English   中英

將iframe中的html內容復制到div(ajax)中?

[英]Copy html content from iframe into div ( ajax )?

讓我們假設我的瀏覽器加載了iframe與<iframe src="test.html">

我可以使用ajax將test.html的內容加載到主html頁面的div中嗎?

這個想法是我的解決方案,我實際上試圖通過使ajax提交給遠程主機來克服限制。 計划是生成具有0大小的iframe的動態頁面,該頁面向遠程主機發出報告請求。 然后,在頁面(&iframe內容)加載后,我將使用JS將iframe內容復制到div中。

提示表示贊賞,

謝謝你,馬克西姆。

不,你不能。

將頁面從其他域加載到iframe時,它將無法訪問。 您無法再訪問iframe的內容,因為它來自不同的域。

我所知道的唯一可以從不同域可靠加載的是JSONP使用的腳本。

我可以使用ajax將test.html的內容加載到主html頁面的div中嗎?

是(因為您的示例具有相對URI並且位於同一主機上)...

這個想法是我的解決方案,我實際上試圖通過使ajax提交給遠程主機來克服限制。

… 和不。 您仍然無法從遠程主機讀取數據。

我確信如果我錯了,有人會糾正我,但我相信跨域邊界的腳本是有限的。 你試過嗎? 這是一個可能有用的功能。

function insertDivFromFrame(divname, framename) {
    var frame = document.getElementById(framename);
    var d = frame.contentWindow || frame.contentDocument;
    if (oDoc.document) {d = d.document;}
    document.getElementById('yourdiv').innerHTML = d.body.innerHTML;
}

我不確定這段代碼是否有效...請參閱http://xkr.us/articles/dom/iframe-document/以獲取更多幫助。

...您可能,但是,設計一個AJAX請求到本地主機和檢索遠程服務器的信息(如描述在這里 )。

如果你寫一個php / perl / etc。 腳本從另一個域輸出文檔的內容,它將允許您訪問內容,因為結果頁面將被javascript視為屬於您的域。 如果您不熟悉任何服務器端腳本語言,我相信您可以通過簡單的谷歌搜索找到一個可以為您執行此操作的腳本。

祝你好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM