ブックマークレットをChrome拡張機能に統合しようとしましたが、なんらかの理由で動作しません

ブックマークレットをChrome拡張機能に統合しようとしていますが、なんらかの理由で動作しません

私は挿入しようとした:

chrome.tabs.executeScript(null, {file: "demo.js"});

私は両方をpopup.htmlに試みました。 background.html

私はマニフェストファイルにもあります:

"permissions": [   
"tabs",
"http://*/*",
"https://*/*",
"notifications",
"contextMenus"
]

私のdemo.jsはあなたが検索フレーズを入力し、そしてwikipediaページが開くポップアップを開くことになっています。 (例: http:// coding.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/

私は正常なブックマークレットコードをテストしましたが、これはうまくいきましたが、今度はChrome拡張機能と統合しようとすると動作しないようです。私が拡張アイコンを押すと、ちょうど小さな空白の拡張ウィンドウが開きます。

私はここで言ったことだけでなく、他の多くの組み合わせを試みました。 手伝ってくれますか?

1

1 答え

http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/browserAction/make_page_red/ を見てみるといいでしょう。

manifest.jsonとmanifest.jsonを比較して、browserActionとバックグラウンドのページを設定する方法の違いを探します(あなたのブログ記事からわかるように、ポップアップページを表示しないでください)。具体的には、あなたが望むもの:

"background_page": "background.html",
"browser_action": {
    "name": "Search Wikipedia",
    "icons": ["icon.png"]
},

拡張子アイコンがクリックされたときにexecuteAction()を呼び出すようにbrowserActionを設定する方法は次のとおりです。

// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(
        null, {code:"document.body.style.background='red !important'"});
});

あなたの場合、これは background.js background.html <script src = "background.js "> </script> ; manifest.json background.html が含まれていることを確認してください):

// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(null, {file: "demo.js"});
});
0
追加された
ありがとう、私はそこにすべてをやった(たとえ私が自分の例を投稿する前にそれを見ていたとしても)。それでも同じ問題。今私は "chrome/ExtensionProcessBindings:83エラーのtabs.executeScript:不明なエラー"に気付くデバッグと。
追加された 著者 Alan,
申し訳ありませんが、エラーはChrome拡張機能をクリックした場合にのみ表示されますが、これはとにかく失敗するはずです。別のタブから拡張機能をクリックしても何も起きず、コンソールにエラーはありません。
追加された 著者 Alan,
btw、コードは次のようになります:chrome.browserAction.onClicked.addListener(function(tab){chrome.tabs.executeScript(null、{code: "document.body.appendChild(document.createElement( 'script'))&zwnj; .src = 'demo.js' "});});
追加された 著者 Alan,
これは私がブックマークレットコードの後に​​モデル化したものです。テスト
追加された 著者 Alan,