jQuery ContentWindow 是 jQuery 庫中的一個簡單選擇器插件,它可以在跨域頁面之間訪問和傳遞數(shù)據(jù)。這對于一些需要在郵件、社交分享等場合展示網(wǎng)頁的應(yīng)用非常實用。
$("iframe").load(function() { var iframe = $(this).contents().get(0); var innerDoc = iframe.contentDocument || iframe; var title = $(innerDoc).find("title").html(); alert(title); });
上面的代碼展示了如何使用 jQuery ContentWindow 訪問 iframe 內(nèi)部文檔的標(biāo)題。首先需要綁定 load 事件,然后通過 contents() 方法獲取 iframe 的窗口對象,使用 get(0) 方法獲取內(nèi)部文檔對象,并使用 find 方法獲取標(biāo)題元素,并將結(jié)果作為彈出窗口顯示。
需要注意的是,jQuery ContentWindow 插件只適用于同源 iframe,若需要訪問跨域 iframe 還需要進行特殊設(shè)置。
var xhr = new XMLHttpRequest(); xhr.open("GET", "http://otherdomain.com/endpoint", true); xhr.onload = function() { var response = xhr.responseText; $("iframe").contents().find("#div").html(response); }; xhr.send();
如果需要訪問跨域 iframe,可以使用 XMLHttpRequest 對象進行跨域請求,并將結(jié)果插入到 iframe 內(nèi)部元素中,從而實現(xiàn)跨域訪問。