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
添加回答
举报