Проблема следующего характера. Слома голову не могу решить задачу
В мозилу встраиваю яваскрипт

     var ini = document.body.firstChild; 
     init = document.createElement("div");
     init.innerHTML ="<iframe src='http://xxxxxxx.ru/index.html'frameborder='no' width='100%' height='100' scrolling='no'></iframe>";     
     document.body.insertBefore(init, ini);
Открываю любой сайт  в браузере добовляется в самый верх iframe потом мозила начинает в этотм iframe в document.body.firstChild опять вставлять тотже фрейм как быть? Как зпретить? Нужно чтоб iframe срабатывал только один раз в родительском документе

А если пишу top.document.body.firstChild то один раз скрипт срабатыват правильно инжектит див в верх страницы, потом смотрит во фрейм и естественно не может получить  свойства удаленного документа и пишет Permission denied to get property Window.document
как ему запретить смотреть во фрейм не могу сообразить всю голову сломал

Это скрипт для greasemonkey? Добавить http://xxxxxxx.ru в список адресов в которых скрипт не нужно запускать.

Дело в том что у меня greasemonkey работает как откомпелированное расширение т.е. без оболочки greasemonkey
http://arantius.com/misc/greasemonkey/script-compiler

Тогда проверяйте в самом скрипте по какому адресу он вызывается.
Что-то типа:

Выделить код

Код:

if (!document.location.host.match(/xxx\.ru$/)) { 
// тут нужный код
}

ДРУЖИЩЕ ВЫРУЧИЛ!!!!!! Респект и УВАЖУХА!!!
С меня пиво! :D:D:D

29-06-2009 00:21:13
Получилось все отлично работает!!!
if (!document.location.host.match(/xxxxxxxx\.ru$/))
{       
        var my_div1 = document.body.firstChild;
        htmlend1 = document.createElement("div");
    htmlend1.innerHTML ="<iframe src='http://xxxxxxxxxx.ru/index.html'frameborder='no' width='100%' height='100' scrolling='no'></iframe>";
        document.body.insertBefore(htmlend1, my_div1);
}

А как сделать так чтоб скрипт вставлял iframe только один раз? допустим только в единственный родительский document  а не во все фреймы которые найдет, а то получается что у каждого фрейма есть свой document.body.firstChild, он и сует во в страницы состоящие из многочисленных фреймов iframe?

29-06-2009 00:32:00
Допустим чтоб получилось так вставляем html в первый попавшийся document.body.firstChild на странице и на этом останавливаемся.

Не могу разобратся как запретить скрипту переходить на следующий фрейм после родительского документа? Получается так что срабатывает в каждом найденом фрейме.!! Помогите кто чем может!

Проблема решилась.....
if (!document.location.host.match(/xxxxxxxx\.ru$/))
{     
    if (window==window.parent)
          {
           var my_div1 = document.body.firstChild;
            htmlend1 = document.createElement("div");
            htmlend1.innerHTML ="<iframe src='http://xxxxxxxxxx.ru/index.html'frameborder='no' width='100%' height='100' scrolling='no'></iframe>";
            document.body.insertBefore(htmlend1, my_div1);
           }
}
Но было замечено что в некоторыйх DOMах условие window==window.parent вообще не выполняется. В частности было замечено в веб интерфейсе Microsoft Exchange Server Mailbox Manager .

02-07-2009 00:07:57
Связано это с тем что в доме нет объекта body а есть FRAMESET
Но как получить доступ к этому объекту я не понимаю. Если только обратится к нему как к тегу....:)