Есть ли название для этой техники браузера? - PullRequest
5 голосов
/ 07 декабря 2011

Существует ли название для этого метода, который заключается в том, чтобы исследовать открытую в браузере страницу, чтобы найти конкретный контент и изменить его?

Некоторые примеры:

  • Skype находит номера телефоновна странице и прикрепляет меню вызовов
  • , скрипт находит проценты на странице и заменяет их небольшим кругом
  • , когда рекламный движок находит ключевые слова на странице и преобразует их в гиперссылки
  • добавьте значок рядом со всеми гиперссылками на странице, которые указывают на другой домен
  • и т. Д.

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

Редактировать: я добавил пример, чтобы показать, что эта техника не только для текстовых узлов, но может применяться к любому видусодержимого html.

Ответы [ 5 ]

5 голосов
/ 07 декабря 2011

Например, выполните этот код для этой веб-страницы (из консоли), и все цифры на странице будут заменены на «X»:

function walkTheDOM( node, func ) {
    func( node );
    node = node.firstChild;
    while ( node ) {
        walkTheDOM( node, func );
        node = node.nextSibling;
    }
}

walkTheDOM( document.body, function ( node ) {
    if ( node.nodeType === 3 ) {
        node.data = node.data.replace( /\d/g, 'X' );
    }
});

enter image description here

0 голосов
/ 16 декабря 2011

Итак, на данный момент вывод таков: у этой техники, похоже, нет названия или устоявшейся практики.

Благодаря тем, кто упомянул поисковые системы, имеет смысл рассматривать его какпоиск с попыткой интерпретировать содержание и структуру.

0 голосов
/ 08 декабря 2011

Эта функциональность называется Надстройки , и используемая ими техника - Обход DOM

Описанные вами случаи не являются чем-то конкретным для одного сайта,но появляются на каждом посещаемом вами сайте, поэтому в вашем браузере должны быть добавлены дополнительные функции.Это часто случается при проверке панелей установки и т. Д. При установке нового программного обеспечения, такого как Skype

. Технику можно назвать распознаванием (как в PNR, Распознавание телефонных номеров Skype), и они выполняют обход DOM вашего сайта.

Это дополнение, описанное выше, вероятно, работает только при загрузке страницы, поэтому на контент, добавленный позже с помощью ajax, это не повлияет.

Если у вас есть собственное дополнение, есть способ получить к нему доступ.с объявлением javascript, описанным здесь: как вызвать функцию в расширении Firefox с помощью кнопки html .

Взгляните также на обход GreaseMonkey и jQuery.

0 голосов
/ 07 декабря 2011

Как уже говорилось, это суммирование звонков, но вы можете найти об этом больше в поиске по термину "робот / техника / робот".Вот некоторый начальный документ, который может оказаться полезным:

Сканирование в Интернете

0 голосов
/ 07 декабря 2011

Суммирование

Это техника, используемая во всех веб-сканерах.Пожалуйста, посмотрите на хорошо документированный сканер и поисковик с открытым исходным кодом

...