3 回答

TA貢獻1856條經驗 獲得超5個贊
我知道這是一個老問題,但是我最近花了半天時間來解決它。通常,創建iframe看起來像這樣:
var iframe = document.createElement('iframe');
iframe.src = chrome.extension.getURL('iframe-content-page.html');
該框架與頁面的來源不同,您將無法獲得其DOM。但是,如果僅出于CSS隔離的目的創建iframe,則可以采用另一種方式:
var iframe = document.createElement('iframe');
document.getElementById("iframe-parent").appendChild(iframe);
iframe.contentDocument.write(getFrameHtml('html/iframe-content-page.html'));
.......
function getFrameHtml(htmlFileName) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", chrome.extension.getURL(html/htmlFileName), false);
xmlhttp.send();
return xmlhttp.responseText;
}
.......
"web_accessible_resources": [
"html/htmlFileName.html",
"styles/*",
"fonts/*"
]
之后,您可以使用iframe.contentDocument訪問iframe的DOM
添加回答
舉報