"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo determinar si una extensión de Chrome está instalada usando JavaScript?

¿Cómo puedo determinar si una extensión de Chrome está instalada usando JavaScript?

Publicado el 2025-03-23
Navegar:413

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

¿Puede JavaScript verificar la instalación de la extensión de Chrome?

en el desarrollo web de hoy, puede ser necesario determinar si se instala una extensión de Chrome específica en el navegador de un usuario. Esta funcionalidad permite que las aplicaciones web interactúen sin problemas con las extensiones de navegador instaladas.

Extension Script de fondo:

para habilitar la comunicación desde el sitio web a la extensión, actualizar el script de fondo (fondo.js) de la extensión como Sigue:

chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse) {
        if (request) {
            if (request.message) {
                if (request.message == "version") {
                    sendResponse({version: 1.0});
                }
            }
        }
        return true;
    });

Script de sitio web:

Desde el sitio web, el siguiente script se puede usar para verificar la extensión:

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;
        }
    });

La variable de Hasextension se puede verificar para determinar la presencia de la extensión.

Update de manifestación:

para permitir la mensajería del sitio web a la extensión, asegurar que el archivo de extensión manifest.json incluya el siguiente:

[] [] [] { "Matches": ["*: // localhost/*", "*: //your.domain.com/*"] },
"externally_connectable": {
    "matches": ["*://localhost/*", "*://your.domain.com/*"]
},

2021 Update:

Tenga en cuenta que desde 2021, chrome.runtime.sendmessage lanza una excepción si la extensión no está instalada o deshabilitada. Para abordar esto, valida la propiedad chrome.runtime.lasterror dentro de la devolución de llamada:

if (chrome.runtime.lasterror) { // Error de manejo }
            
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3