私は非常に最初のChrome拡張機能を作成し、メッセージの受け渡しとbackground.jsの作業に取り組んでいます。 background.jsが決して呼び出されたり、メッセージを受け取ったりしていないようです。誰かが私が間違っていることを教えてもらえますか?ここでは、最小限の例です:Chrome拡張機能のバックグラウンドページを有効にする
manifest.jsonを
{
"manifest_version": 2,
"name": "RAData",
"version": "0.1",
"background": {
"scripts": ["background.js"] },
"content_scripts": [{
"matches": [
"<all_urls>"],
"js": ["content.js"] }]
}
content.js
chrome.runtime.sendMessage("message from content");
console.log("content.js loaded");
background.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
console.log("message received");
});
console.log("background.js loaded");
私は、ページをロードするたびに、content.jsがロードされ、 "content.js loaded"がコンソールに表示され、その後、そのメッセージでbackground.jsを呼び起こすということが起こるはずだと思います。 Background.jsは、 "message received"と "background.js loaded"をコンソールに出力します。
代わりにコンソールには "content.js loaded"と表示されます。background.jsのコードは実行されていないようです。
ooohで、エクステンションの[ビューを検査する]の横にある[背景ページ]をクリックしてアクセスできます。私は彼らが異なるコンソールを持っていたことを認識しませんでした。まあ、それは簡単でした。 :-) –