从Chrome的扩展程序内容脚本访问iframe内容

我正在做一个插件来对界面进行一些转换。我不断收到unsafe javascript attempt to access frame with url.... Domains, protocols and ports must match(典型的跨网站问题)


但作为扩展程序,它应该可以访问iframe的内容http://code.google.com/chrome/extensions/content_scripts.html ...


没有人知道如何访问它的内容以便可以被捕获吗?


开心每一天1111
浏览 2039回答 3
3回答

RISEBY

我知道这是一个老问题,但是我最近花了半天时间来解决它。通常,创建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
打开App,查看更多内容
随时随地看视频慕课网APP