ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

13_javascript:02_chrome:03_manifetst_v3

文書の過去の版を表示しています。


03 Chrome拡張機能 Manifest V3

02 Chrome拡張機能2 をManifest V3に対応させてみる

manifest.json

browser_action→actionとbackgroundのscripts→service_workerなどが変わっています。

manifest.json

{
  "name": "クリックアラート2",
  "manifest_version": 3,
  "version": "1.1",
  "description": "クリックするとアラートを出すだけ2",
  "action": {
    "default_title": "EXTENTION_SAMPLE"
  },
  "background": {
      "service_worker": "background.js"
  },
  "content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["script.js"]
  }]
}

background.js

background.js

chrome.action.onClicked.addListener(function (tab){
	chrome.tabs.sendMessage(tab.id, "Action");
});

script.js

chrome.runtime.onMessage.addListener(async function (
  message,
  sender,
  sendResponse
) {
  console.log("受信");
  if (message == "Action") {
      hogehoge();
  }
  sendResponse();
  return true;
});

function hogehoge() {
  alert('AAAAA');
}

Error

このメッセージは、送られたmessegeがレスポンスを受け取って、返す前にmessageがcloseされてしまっているようです。

Uncaught (in promise) Error: The message port closed before a response was received.

対応

script.jsで、chrome.runtime.onMessage.addListener(async function (内の下記分を追加する事で、消えます。

sendResponse();
13_javascript/02_chrome/03_manifetst_v3.1648861555.txt.gz · 最終更新: 2022/04/02 10:05 by matsui