получение элемента HEAD из плагина overlay.js firefox - PullRequest
3 голосов
/ 15 декабря 2009

У меня есть плагин lightwiehgt для Firefox, который должен внедрить скрипт в HTML. Код выглядит так:

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

Проблема в том, что document.getElementsByTagName("head")[0] возвращает 'undefined', а проверка document.getElementsByTagName("head").length равна 0.

В настоящее время выполняется в браузере событие document.onLoad, но я также попытался вызвать его из window.setTimeout, чтобы убедиться, что это не проблема с загрузкой синхронизации, но происходит то же самое.

Есть идеи у кого-нибудь? Спасибо!

Ответы [ 2 ]

2 голосов
/ 17 января 2010

Сегодня у меня была похожая проблема, и мне удалось найти решение. Ваше сообщение было опубликовано 1 месяц назад, поэтому не уверены, решили ли вы свою проблему. Ниже ссылка может ответить на ваш вопрос: https://developer.mozilla.org/en/Working_with_windows_in_chrome_code

0 голосов
/ 14 ноября 2011

Если вы используете объект frame или iframe, вы не должны ссылаться на document напрямую, а делать что-то вроде:

    var doc = frame.contentWindow.document;

После этого вы можете получить голову. Я использую jQuery, чтобы добавить к нему некоторые ресурсы:

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

Надеюсь, это поможет.

...