Pergunta

Resumindo, estou trabalhando em uma extensão do Google Chrome.As extensões não têm acesso a variáveis ​​no escopo da página em que estão operando por padrão (você precisa se comunicar através do DOM).

O que estou tentando fazer é inserir um script na página;isso funciona bem definindo uma tag de script e um atributo src.

O problema é que este script precisa que uma variável seja inicializada previamente.Para inicializar esta variável, estou tentando construir um elemento de script com seu código embutido (em vez de carregado de uma fonte externa), mas estou tendo problemas para fazê-lo funcionar.

Isso é possível e, em caso afirmativo, como defino a fonte dentro do script?Tentei anexar um nó de texto contendo a fonte JS ao elemento de script, mas sem sucesso.

Foi útil?

Solução

É uma droga, mas a melhor maneira de fazer isso é provavelmente comunicar seus dados injetando-os no DOM: http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

Você também pode conseguir isso fazendo algo como:

var script = document.createElement('script');
script.type = 'text/javascript';
script.text = 'alert("It works!");';
document.head.appendChild(script);

Não testei isso, mas acho que funcionará com seus scripts de conteúdo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top