Chrome版本11无法运行background.js

时间:2013-01-11 14:35:13

标签: google-chrome google-chrome-extension

我在Google Chrome中创建了一个简单的扩展程序, 下面是我的表现.json

{
    "name":"Hello World",
    "version":"1.0",
    "manifest_version":2,
    "description":"The first extension that I made.",
    "browser_action":{
        "default_icon":"icon.png"
    },
    "background": {
        "scripts": ["background.js"]
    },
    "permissions":[
        "tabs", "http://*/*", "https://*/*"
    ]
} 

以下是我的background.js。

alert('test application');

现在,Extension正在加载,但没有运行后台页面。

有人可以帮我吗? 它与版本24一起工作正常,但我想创建一个扩展来测试我的网页,该网页应该在任何Chrome版本上运行。

1 个答案:

答案 0 :(得分:0)

为什么还要使用Chrome 11?它太旧了。 Chrome 24的稳定渠道刚刚发布。

但是,如果您确实需要支持不支持“manifest_version”的旧版Chrome:2(例如,支持其他不与Chrome最新的基于Chromium的浏览器),请参阅以下建议。< / p>

  • 编写manifest.json的sereval版本,并使用不同版本的Chrome打包扩展程序,以支持旧版和旧版Chrome。说your_extension_chrome17.crxyour_extension_chrome18.crx(清单版本2)。要求您的用户根据他们的Chrome版本下载相应的软件包。请注意,您必须使用"background_page": "bg.html",其中bg.html是包含后台脚本而不是"background": {...}的后台页面(并且“background_page”不能在v2清单中使用)。在Chrome 17之前,我会默默忽略"manifest_version": 2,所以这不会有问题。
  • 查看https://developer.chrome.com/trunk/extensions/whats_new.html以了解支持这些新API的一般概念,并考虑旧版本的解决方法。
  • 除非您需要支持Chrome 6或更早版本,否则将默默忽略未知权限(在较新版本中受支持)(您确定吗?)。
  • 要获得自动更新支持,您需要处理更新清单。使用minprodversion来防止安装新版本的软件包(也在manifest.json中设置minimum_chrome_version)并在更新清单中包含多个条目。请注意,元素只能包含一个元素,因此您必须使用多个元素。有关详细信息,请参阅https://developer.chrome.com/extensions/autoupdate.html。例如:
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
    <updatecheck codebase='http://myhost.com/mytestextension/your_extension_chrome18.crx' version='2.0' prodversionmin='18.0.1025.142'/>
  </app>
  <app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
    <updatecheck codebase='http://myhost.com/mytestextension/your_extension_chrome17.crx' version='2.0' prodversionmin='3.0.193.0'/>
  </app>
</gupdate>

请务必在不同版本中彻底测试您的扩展程序,但这会非常令人头疼。 据我所知,您无法将这些技巧用于Chrome网上应用店中托管的扩展程序。