chrome.tabs.create 给出错误 - “未捕获的类型错误:无法调用未定义的方法‘create’”

Posted

技术标签:

【中文标题】chrome.tabs.create 给出错误 - “未捕获的类型错误:无法调用未定义的方法‘create’”【英文标题】:chrome.tabs.create is giving an error - "Uncaught TypeError: Cannot call method 'create' of undefined" 【发布时间】: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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于chrome.tabs.create 给出错误 - “未捕获的类型错误:无法调用未定义的方法‘create’”的主要内容,如果未能解决你的问题,请参考以下文章

Chrome tab.create 和 tab.getSelected

chrome 插件开发,功能很简单,可我找了两天居然都没有找到 ,求一段实例js

浏览器插件右键菜单“串号”不知道怎么修改

s-s-rS 公式给出错误优先函数,iif 条件给出错误

计数查询给出错误的列名错误

程序给出错误的分配错误