DOM - более 5 «оконных» объектов на одной странице - PullRequest
1 голос
/ 21 марта 2010

Я пытаюсь извлечь данные с одного из моих сайтов, используя Greasemonkey. Проблема в том, что скрипт выполняется 6 раз, потому что, очевидно, страница загружает контент с 6 разных серверов.

Так что, если я введу alert ("Hey");, код запускается 6 раз, и я получаю 6 предупреждений.

Как я могу дождаться загрузки всей страницы, а затем начать играть с DOM. Также я использую jQuery.

Спасибо

1 Ответ

1 голос
/ 22 марта 2010

Проблема в том, что скрипт выполняется 6 раз, потому что, очевидно, страница загружает контент с 6 разных серверов.

Вы имеете в виду, что страница загружает другие страницы через iFrames?насколько я знаю, это единственный способ, что то, что вы объясняете, может произойти .. Так что, если это правда, попробуйте:

(function(){
  //ignore any window/iframe that is not the top window
  if(window.parent != window) return;

  // the main function
  var mainFunction = function(){
    alert("Hey");
  }

  if(document.readyState=="complete"){
    // for google chrome
    mainFunction();
  }
  else{
    // wait until the load event
    window.addEventListener("load", mainFunction, false);
  }
})();
...