【问题标题】:chrome.tabs.create is giving an error - "Uncaught TypeError: Cannot call method 'create' of undefined"chrome.tabs.create 给出错误 - “未捕获的类型错误:无法调用未定义的方法‘create’”
【发布时间】:2012-05-26 21:16:56
【问题描述】:

我的 manifest.json 包含

"content_scripts": [
  {
  "matches": ["http://www.facebook.com/*","https://www.facebook.com/*"],
   "js": ["js/jquery-1.7.2.min.js", "js/jquery.livequery.min.js", "js/script.js"]
  }
]

而script.js的内容是

$("#FB_HiddenContainer").livequery(function(){
   chrome.tabs.create({"url":"http://www.google.com"});
});

当我打开facebook时,控制台报错

未捕获的类型错误:无法调用未定义的“创建”方法

chrome-extension://whateveristhisweirdcode/js/script.js:2

如何让它打开一个新标签?

【问题讨论】:

    标签: tabs google-chrome-extension livequery


    【解决方案1】:

    内容脚本无法访问大多数扩展 API;只有the content scripts doc 中列出的那些才能工作。相反,请使用window.open("http://www.google.com")(是的,这确实在 Chrome 中创建了一个新标签;不,没有在 Chrome 中的任何用户设置这将改变这一点)。如果您需要更多访问扩展 API,可以使用 message passing 让您的 event page 代表内容脚本执行操作。

    【讨论】:

      猜你喜欢
      • 2012-03-09
      • 2013-08-31
      • 2011-11-12
      • 2013-09-14
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多