Chrome扩展程序会混淆iframe

时间:2014-05-03 16:06:12

标签: javascript jquery html iframe google-chrome-extension

这很奇怪,但Chrome扩展程序正在加载iframe中的内容文件。我在内容脚本匹配中有<all_urls>,我将其切换为"http://*/*", "https://*/*"。这非常奇怪,因为即使iframes iframe's不适合该匹配,它仍在src内部加载页面。

我找到了一个脚本来检测某个对象是否已加载到iframe,现在内容脚本不会影响谷歌广告或其他广告,但尤其是当我的扩展程序开启时,jsfiddle不起作用。 / p>

我不想发布代码,所以请告诉我需要发布的代码。

似乎它唯一有效的时间是内容脚本有一些无效的代码并且根本没用。

所有扩展程序都这样做吗?我该如何解决?什么代码可能会这样做?

提前非常感谢你。

清单:

{
  "name": "NA",
  "version": "1.0.9",
  "manifest_version": 2,
  "description": "NA",
  "browser_action":{
    "default_icon": {
      "19": "img/icon19.png",
      "38": "img/icon38.png"
    },
    "default_popup":"popup.html"
  },
  "permissions": [
    "storage",
    "tabs",
    "contextMenus"
  ],
  "background":{
    "scripts":["background.js"]
  },
  "icons": {
    "16": "img/icon16.png",
    "48": "img/icon48.png",
    "128": "img/icon128.png"
  },
  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["scripts/jquery-for-content-only.js","scripts/content.js"],
      "run_at": "document_end",
      "all_frames": true
    }
  ]
}

1 个答案:

答案 0 :(得分:2)

Chrome扩展程序清单文件确定内容脚本的运行方式和位置,不仅仅是在URL模式匹配方面,还包括它们是否适用于父页面下方的框架:

来自Google's "Content Scripts" documentation

  

名称:all_frames

     

输入:boolean

     

描述:

     
    

可选。控制内容脚本是在匹配页面的所有帧中运行,还是仅在顶部帧中运行。

         

默认为false,表示只匹配顶部框架。

  

由于您将此属性设置为true,因此您的脚本在iframe中运行。将此属性设置为false,或将其删除,然后脚本应仅在父页面中运行。