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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№115-04-2016 15:30:07

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Переходы между страничками Google

Создал "супермегаскрипт" следующего содержания:

Выделить код

Код:

alert('ZZZ');

и с помощью Greasemonkey запускаю его на всех посещаемых страничках любых сайтов. "Работает, однако."
В том числе работает и если зайти на главную страницу Google, и при появлении страницы с результатами поиска. И когда щёлкаю по найденным ссылкам - там, куда перешёл, тоже срабатывает. Но когда щёлкаю по цифрам внизу, чтобы перейти на какую-нибудь из следующих страниц поисковой выдачи - на работает:(
Предположил, что как-то на это могут влиять обработчики мышиных событий, навешанные Гуглом на ссылки. Избавляюсь от них следующим образом:

Выделить код

Код:

alert("ZZZ");

function ClearLinks() {
  var links = document.getElementsByTagName("*");
  for (var i = 0; i < links.length; i++) {
    var link = links[i];
    if (link.hasAttribute("onmousedown")) {
      link.removeAttribute("onmousedown");
      link.removeEventListener("mousedown", link.onmousedown, false);
    }
    if (link.hasAttribute("onmouseup")) {
      link.removeAttribute("onmouseup");
      link.removeEventListener("mouseup", link.onmouseup, false);
    }
    if (link.hasAttribute("onclick")) {
      link.removeAttribute("onclick");
      link.removeEventListener("click", link.click, false);
    }
  }
  setTimeout(ClearLinks, 2000);
};
setTimeout(ClearLinks, 2000);

Ссылки в результате от обработчиков очищаются, но при переходах между гугловскими страничками трепетно ожидаемое сообщение всё равно не появляется.

Как им, шайтанам, это удаётся?

Отредактировано yup (15-04-2016 15:32:08)

Отсутствует

 

Board footer

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