Pergunta

Eu tenho um plugin lightwiehgt para o Firefox que precisa injetar um script no HTML. Os olhares código como este:

var head = document.getElementsByTagName("head")[0];
var newscrpt;       
newscrpt = document.createElement('script');
newscrpt.type = "text/javascript" ;
newscrpt.src = "http://blabla.com/...";
newscrpt = head.appendChild(newscrpt);

O problema é que document.getElementsByTagName("head")[0] retorna 'indefinido', e verificar document.getElementsByTagName("head").length é 0.

Ele executa atualmente no evento document.onLoad navegador, mas eu também tentei chamá-lo de window.setTimeout para ter certeza que não é um problema com a sincronização de carregamento, mas o mesmo acontece.

Todas as idéias de ninguém? Obrigado!

Foi útil?

Solução

Eu apenas tive problema semelhante hoje, e conseguiu encontrar uma solução. O envio da mensagem foi de 1 mês atrás, então não tenho certeza se você ter resolvido o seu problema. Abaixo link pode responder a sua pergunta: https://developer.mozilla.org/en/Working_with_windows_in_chrome_code

Outras dicas

Se você estiver usando uma frame ou um objeto iframe, você não deve fazer referência ao document diretamente, mas fazer algo como:

    var doc = frame.contentWindow.document;

Depois que você pode começar a cabeça. Eu estou usando jQuery para adicionar alguns recursos para isso:

    $(doc).find('head').append(
                '<link type="text/css" rel="stylesheet" href="MyStylesheet.css" />');

Hope isso ajuda.

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