Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№129-07-2008 07:56:44

gsocol
Участник
 
Группа: Members
Зарегистрирован: 29-07-2008
Сообщений: 2
UA: Opera 9.2

отследить изменение IFRAME

Возникла такая задача. Отследить изменения страницы уже загруженной в браузер.
Реализовал таким образом:

Выделить код

Код:

while (enumerator.hasMoreElements()) 
{
    v_window = enumerator.getNext();
    v_browser = v_window.getBrowser().browsers;
    for (var i = 0; i < v_browser.length; i++)
    {
        v_tab = v_browser [i];
if (v_tab.contentDocument.baseURI.indexOf("blablablabla")!=-1){        
        v_doc = v_tab.contentDocument;
        var docEl = v_doc.defaultView.document.documentElement;
        var tagWindow=v_window;
        tagWindow.document.addEventListener("DOMSubtreeModified",LoadSite, false);
      
     } 

    }
}
        if (v_doc==null) {alert("Не попали!");} else {alert("Попали!");}

нашли нужное нам окно и нужную вкладку.
тут все работает без проблем изменения отслеживаются
дальше в определенный момент времени в анализируемой страничке появляется IFRAME. вот его изменения мне и надо дальше отслеживать

Выделить код

Код:

function LoadSite (ev)
{
if (v_doc!=null){
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');

iframe=temp[2].contentDocument.getElementById("iframe_name");
iframe.contentWindow.document.addEventListener("load",btl, true);
temp=iframe.contentWindow.document.getElementsByTagName('SCRIPT')[0].innerHTML;
                   }
}

function btl()
{
  alert("Загрузилось");
}

так вот:
iframe.contentWindow.document.addEventListener("load",btl, true);
это не срабатывает(((((((
В принципе содержимое ифрейма я получаю, но хотелось бы получать только когда оно изменилось.

Можно тупо сравнивать предыдущее и текущее содержимое фрейма, но это ж лишние затраты, а следовательно
падение скорости ((

Отсутствует

 

№229-07-2008 13:51:38

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: отследить изменение IFRAME

не понятно: отследить нужно изменение адреса фрейма или изменение контента?
для первого случая есть DOMFrameContentLoaded
для второго DOMNodeInserte, DOMNodeRemoved
подробности можно найти на mdc

Отредактировано Shutnik (29-07-2008 13:51:56)

Отсутствует

 

№329-07-2008 14:25:25

gsocol
Участник
 
Группа: Members
Зарегистрирован: 29-07-2008
Сообщений: 2
UA: Opera 9.2

Re: отследить изменение IFRAME

Shutnik пишет

не понятно: отследить нужно изменение адреса фрейма или изменение контента?
для первого случая есть DOMFrameContentLoaded
для второго DOMNodeInserte, DOMNodeRemoved
подробности можно найти на mdc

отследить нужно изменение контента фрейма

Отсутствует

 

№429-07-2008 14:48:49

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: отследить изменение IFRAME

тогда второй вариант - ваш

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]