0

単純な 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"})
});

ブックマークレット.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 コマンドがクロム拡張で機能していないことは確かですが、正しく書き換える方法がわかりません。ご協力いただきありがとうございます。

4

1 に答える 1

-1

setTimeout は、挿入されたスクリプトとバックグラウンド ページの両方で問題なく動作します。bookmarklet.js が正しくないか、完全ではありません。エラーが表示されます: Uncaught TypeError: Cannot call method 'focus' of undefined とにかく、最初に Web ページとバックグラウンド ページのコンソールでエラーを確認してください。これにより、多くの時間を節約できます

于 2013-09-17T22:35:29.703 に答える