JavaScript での Chrome 拡張機能のインストールの検出
Chrome 拡張機能を構築する際、拡張機能がファイル内からインストールされているかどうかを判断することが必要になる場合があります。外部JavaScriptスクリプト。これは、拡張機能の存在に基づいて Web コンテンツをカスタマイズするのに役立ちます。
Chrome のドキュメントによると、Web サイトから拡張機能にメッセージを渡すことでこれを実現できます。
コードの実装
拡張機能のbackground.js (またはその他のコンテンツ以外のスクリプト) ファイルに、次のコードを追加します。メッセージ リスナー:
chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) { if (request) { if (request.message) { if (request.message == "version") { sendResponse({version: 1.0}); } } } return true; } );
このリスナーは Web サイトからメッセージを受信します。
Web サイトのスクリプトから、拡張機能の ID:
var hasExtension = false; chrome.runtime.sendMessage(extensionId, { message: "version" }, function (reply) { if (reply) { if (reply.version) { if (reply.version >= requiredVersion) { hasExtension = true; } } } else { hasExtension = false; } } );
にメッセージを送信します。 hasExtension 変数をチェックして、拡張機能がインストールされているかどうかを確認します。
Manifest構成
必ず、manifest.json ファイルにエントリを追加して、拡張機能へのメッセージの送信を許可するドメインを指定します。
"externally_connectable": { "matches": ["http://mylocalhostextensiontest/*", "http://*:*/*"] },
非同期の性質とエラー処理
メッセージ受け渡しメカニズムは非同期であることに注意してください。コードでこれを処理する必要がある場合があります。
さらに、拡張機能がインストールされていないか無効になっている場合、chrome.runtime.sendMessage は例外をスローします。このような場合は、メッセージを送信した後に chrome.runtime.lastError がないか確認してください:
if (chrome.runtime.lastError) { // Handle the error here... }
以上がJavaScript を使用して Chrome 拡張機能がインストールされているかどうかを検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。