Chrome实验扩展出现错误

Chrome experimental extension gives error?

本文关键字:错误 扩展 实验 Chrome      更新时间:2024-06-23

我正在尝试运行一个实验性的Chrome扩展(可以在这里找到:https://github.com/GoogleChrome/chrome-app-samples/tree/master/serial/ledtoggle),似乎在"launch.js"中找不到出现此错误的原因。该应用程序的设置方式与其他成功运行的应用程序完全相同,但这一个似乎特别拒绝。下面是关键文件,其他所有文件都与您在repo中找到的文件相同。实验API&平台应用程序已启用。感谢您的帮助,我会标记答案!

Error in event handler for 'experimental.app.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined
    at chrome-extension://mkadehbifepfhnemaiighgighppmjgnp/launch.js:2:21
    at chrome.Event.dispatch (event_bindings:237:41)
    at chromeHidden.registerCustomHook.chrome.experimental.app.onLaunched.dispatch (experimental.app:32:39)
    at Object.chromeHidden.Event.dispatchJSON (event_bindings:151:55) 

Manifest.json:

{
  "name": "Serial Test",
  "version": "1",
  "manifest_version": 2,
  "app": {
    "background": {
      "scripts": ["launch.js"]
    }
  },  
"icons": {
    "16": "icon_16.png",
    "128": "icon_128.png"
  },
  "permissions": ["experimental"]
}

launch.js:

chrome.experimental.app.onLaunched.addListener(function() {
  chrome.app.window.create('index.html', {
    width: 400,
    height: 400
  });
});

没有chrome.app.window属性,它是未定义的。似乎这个想法是打开一个新的浏览器窗口,正确的代码应该是:

chrome.windows.create({
  url: 'index.html',
  width: 400,
  height: 400    
});

编辑:显然chrome.app.window API将在未来的Chrome版本中提供(我可以在Canary中看到)。然而,Chrome 21中没有。