如何将CSS和Javascript注入到chrome扩展中加载的iframe中

时间:2011-11-17 05:37:39

标签: google-chrome-extension

我的Chrome扩展程序中有一个加载网站的iframe,我想将CSS和Javascript注入网站,但只有当它加载到我的扩展iframe中时(因此当用户浏览时不会受到影响)该网站通常)。

我很惊讶Chrome扩展程序在尝试访问iframe的内部时会应用跨域安全策略,即使他们可以进行跨域XHR请求。

有一种简单的方法吗?我虽然可以使用executeScript来完成它,但它需要一个标签ID。

1 个答案:

答案 0 :(得分:2)

了解你是否在ifrmae的唯一方法是window不是top

if (window == top) {
  // Not in iframe
}
else {
  // In an iframe
}

您只能对内容脚本执行此操作,而不能为样式表执行此操作。我通常做的是在内容脚本中,我检查它是否不在顶部窗口,然后继续脚本,否则我只是结束它。

<强>小结

  1. 为该网址注入内容脚本
  2. 在内容脚本中,检查窗口属性if (window != top) { loadContentScript() }
  3. 如果您太担心它会影响,请在JavaScript中创建CSS。但是你不应该使用独特的ID。
  4. 希望有所帮助,我这样做是为了我的一些扩展。