chrome.tabs.create给出错误 - “未捕获的TypeError:无法调用方法'创建'未定义”

时间:2012-05-19 16:57:42

标签: tabs google-chrome-extension livequery

我的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时,控制台报告错误

未捕获的TypeError:无法调用未定义的方法'create'

铬扩展://whateveristhisweirdcode/js/script.js:2

如何让它打开新标签?

1 个答案:

答案 0 :(得分:19)

内容脚本无法访问大多数扩展API;只有the content scripts doc中列出的内容才有效。相反,请使用window.open(" http://www.google.com")(是的,此 在Chrome中创建新标签;不, aren&# 39; t Chrome中的任何用户设置都会改变这一点。如果您需要更多访问扩展程序API的权限,可以使用message passing代表内容脚本执行event page