首頁  >  文章  >  web前端  >  如何確定 Chrome 擴充功能是否是使用 JavaScript 安裝的?

如何確定 Chrome 擴充功能是否是使用 JavaScript 安裝的?

Patricia Arquette
Patricia Arquette原創
2024-11-17 04:11:03352瀏覽

How Can I Determine if a Chrome Extension is Installed Using JavaScript?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn