添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
坏坏的香槟  ·  Universal Robots - ...·  7 月前    · 
坚强的烤地瓜  ·  @nestjs/axios (3.0.1) ...·  1 年前    · 
深沉的山羊  ·  intel realsense t265 ...·  1 年前    · 
我正在做一个插件来对界面进行一些转换。我不断收到unsafe javascript attempt to access frame with url.... Domains, protocols and ports must match(典型的跨网站问题)但作为扩展程序,它应该可以访问iframe的内容http://code.google.com/chrome/extensions/content_scripts.html ...没有人知道如何访问它的内容以便可以被捕获吗?
查看完整描述

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


查看完整回答