0

我无法让一个简单的谷歌扩展工作。清单文件如下所示:

{
 "background": {"scripts": ["background.js"]},
 "browser_action": {
 "default_icon": "icon-128.png",
 "default_title": "Lookup"
 },
 "name": "Lookup",
 "description": "Does stuff",
 "homepage_url": "http://www.artifacting.com",
 "icons": {
     "16": "icon-16.png",
     "48": "icon-48.png",
     "128": "icon-128.png" },
 "permissions": [
     "tabs",
     "http://*/*",
     "https://*/*"
 ],
 "version": "0.1",
 "manifest_version": 2
}

我的 background.js 只是指向我的 bookmarklet.js

背景.js:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(tab.id, {file: "bookmarklet.js"})
});

书签.js

setTimeout('x99.focus()',300);var re=/([/-]|li[er]n=)(d{2,3}[dX])/i;if(re.test(location.href)==true){var isbn=RegExp.$2;var x99=window.open('http://catalog.mywebsite.org/search/searchresults.aspx?ctx=1.1033.0.0.6&type=Keyword&term='+lookup,'Lookup','scrollbars=1,resizable=1,top=0,left=0,location=1,width=800,height=600');x99.focus();}

我不确定为什么当我点击扩展时没有打开一个新窗口。我很确定 setTimeout 命令不适用于 chrome 扩展,但我不确定如何正确重写它。谢谢你的帮助。

4

1 回答 1

-1

setTimeout 适用于注入脚本和背景页面。您的 bookmarklet.js 不正确或不完整。它显示错误: Uncaught TypeError: Cannot call method 'focus' of undefined 不管怎样,首先检查网页和后台页面控制台是否有错误。这可以为您节省大量时间

于 2013-09-17T22:35:29.703 回答