简单的谷歌扩展麻烦

时间:2013-09-17 22:10:25

标签: javascript google-chrome-extension settimeout

我无法使用简单的Google扩展程序。清单文件如下所示:

{
 "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

background.js:

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

bookmarklet.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 exstensions,但我不确定如何正确地重写它。谢谢你的帮助。

1 个答案:

答案 0 :(得分:-1)

setTimeout适用于注入的脚本和后台页面。您bookmarklet.js不正确或不完整。它显示错误: 未捕获的TypeError:无法调用undefined的方法'focus' 无论如何,首先检查网页和背景页面控制台是否有错误。这为您节省了大量时间