"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como acessar variáveis ​​globais do script de conteúdo do Gmail em uma extensão do Chrome?

Como acessar variáveis ​​globais do script de conteúdo do Gmail em uma extensão do Chrome?

Publicado em 13/11/2024
Navegar:209

How to Access Global Variables from Gmail\'s Content Script in a Chrome Extension?

Acessando variáveis ​​globais no script de conteúdo do Gmail

Você procura uma solução para recuperar a variável GLOBALS da página da web da mensagem ativa do Gmail usando uma extensão do Chrome .

Isolamento em scripts de conteúdo

Os scripts de conteúdo são executados em um ambiente isolado, evitando acesso direto às variáveis ​​globais da página.

Técnicas de passagem de mensagens

Para superar esse isolamento, considere técnicas de passagem de mensagens:

Injetando um script Elemento

Injete um elemento de script no DOM da página usando a URL de extensão:

var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);

Estabelecendo ouvintes de eventos

Além disso, estabeleça ouvintes de eventos para troca de dados:

document.addEventListener('RW759_connectExtension', function(e) {
    alert(e.detail); // Transfer data, e.g., GLOBALS
});

Injeção de Script.js

Em "script.js" (adicionado a web_accessible_resources no manifesto):

setTimeout(function() {
    document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
        detail: GLOBALS // Send GLOBALS to the extension
    }));
}, 0);

Vantagens da passagem de mensagens

As abordagens de passagem de mensagens permitem exposição limitada da lógica de extensão a páginas da Web e acesso a funções estendidas da API do Chrome.

Conclusão

Ao implementar essas técnicas, você pode acessar efetivamente variáveis ​​globais como GLOBALS a partir do conteúdo da sua extensão do Chrome roteiro.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3