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

Google chrome extension 如何将CSS和Javascript注入到chrome扩展中加载的iframe中,google-chrome-extension,Google Chrome Extension,我的chrome扩展中有一个加载网站的iframe,我想向网站中注入CSS和Javascript,但只有当它加载到我的扩展iframe中时(因此用户正常浏览网站时不会受到影响) 我很惊讶Chrome扩展在尝试访问iframe的内部时会应用跨域安全策略,即使它们可以发出跨域XHR请求 有没有一个简单的方法可以做到这一点?我想我可能可以使用executeScript来完成,但它需要一个选项卡ID。知道您是否在ifrmae中的唯一方法是窗口不是顶部 if (window == top) { //

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

我很惊讶Chrome扩展在尝试访问iframe的内部时会应用跨域安全策略,即使它们可以发出跨域XHR请求


有没有一个简单的方法可以做到这一点?我想我可能可以使用executeScript来完成,但它需要一个选项卡ID。

知道您是否在ifrmae中的唯一方法是
窗口
不是
顶部

if (window == top) {
  // Not in iframe
}
else {
  // In an iframe
}
您只能对内容脚本执行此操作,而不能对样式表执行此操作。我通常做的是在内容脚本中,我检查它是否不在顶部窗口中,然后继续脚本,否则我就结束它

重述

  • 为该URL注入内容脚本
  • 在内容脚本中,检查窗口属性
    if(window!=top){loadContentScript()}
  • 如果你太担心CSS会影响你的语言,就在JavaScript中创建CSS。但是,如果使用唯一ID,则不应该这样做
  • 希望这有帮助,我做了一些扩展我的