recebendo o elemento HEAD de overlay.js firefox plug-in
-
19-09-2019 - |
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!
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.