JavaScript 可以檢查 Chrome 擴充功能安裝嗎?
在現今的 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; });
網站腳本:
從網站上,可以使用下列腳本來檢查副檔名:
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.json 檔案包含以下內容:
"externally_connectable": { "matches": ["*://localhost/*", "*://your.domain.com/*"] },
2021更新:
請注意,自 2021 年以來,chrome.runtime.如果未安裝或停用擴展,sendMessage 會引發異常。若要解決此問題,請驗證回呼中的 chrome.runtime.lastError 屬性:
if (chrome.runtime.lastError) { // handle error }
以上是如何確定 Chrome 擴充功能是否是使用 JavaScript 安裝的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!