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