我无法使用简单的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,但我不确定如何正确地重写它。谢谢你的帮助。
答案 0 :(得分:-1)
setTimeout适用于注入的脚本和后台页面。您bookmarklet.js不正确或不完整。它显示错误: 未捕获的TypeError:无法调用undefined的方法'focus' 无论如何,首先检查网页和背景页面控制台是否有错误。这为您节省了大量时间