Как работает замена URL в поисковой выдаче Google "Рекламные ссылки"?
Некоторые результаты имеют функцию rwt, прикрепленную к событию onmousedown, но, насколько я могу судить, спонсируемые ссылки не имеют обработчиков событий. Как он добивается поведения замены href и по-прежнему отправляет вас на ссылку long / aclk? Sa =?
При сохранении в локальный файл javascript волшебным образом ломается, препятствуя моим собственным попыткам разобрать его. Надеюсь, кто-нибудь сможет дать мне отправную точку для атаки.
Еще несколько наблюдений. Есть регулярное выражение, отрезающее часть q = от URL-адреса, но я не могу, хоть убей, увидеть, как они «сбрасывают» URL-адрес, чтобы его можно было отследить. Также замена работала должным образом только под firefox. IE7 показал пустую строку состояния. Safari и Opera показали уродливый URL.
--Обновить--
Спасибо, что попробовал, Карл, но я думаю, что в первый раз ты был ближе. Думаю, я не очень хорошо это объяснил. Я пытаюсь понять, как работает javascript на странице результатов поиска. Не логика на стороне сервера.
Думаю, я понимаю, о чем вы спрашиваете, приношу свои извинения, если я ошибаюсь:
Вы уверены, что просматривали сгенерированный исходный код? Я обнаружил, что Google иногда отображает ссылки, а затем добавляет событие onclick после загрузки страницы, которое перезаписывает URL-адрес во время события onclick. Если вы щелкните ссылку (которая выглядит непереписанной), затем вернетесь к результатам поиска (нажав «назад» в браузере) и наведите указатель мыши на ту же ссылку, вы можете обнаружить, что теперь ссылка в строке состояния переписана.
Имеет ли это смысл?
--Обновить--
Думаю, я неправильно понял ваш вопрос ... Прочитав его, плюс ваш комментарий, я думаю, что понял, о чем вы спрашивали.
Итак, я выполнил поиск на Google.com по запросу "java", наведя курсор на верхнюю "Рекламную ссылку", и это было так: http://www.google.com/aclk?sa=l&ai=C4qCHuoY1SYynAqSCM9C4_H7uvNYk_[snipped] Итак, вам интересно, как они затем переводят вас на правильный URL-адрес после этого? Если это действительно вопрос, то ответ будет заключаться в том, что они хранят информацию об этой спонсируемой ссылке в своей базе данных и передают эту информацию на страницу результатов поиска. Когда вы щелкаете ссылку, вы отправляетесь в обработчик «спонсируемой ссылки», который ищет информацию, которая была передана ему в длинном URL-адресе, показанном выше, и отслеживает ее как щелчок, а затем ищет, что результирующий URL должен быть и перенаправляет вас туда. Если бы вы использовали такой инструмент, как Fiddler (для IE), вы, вероятно, более четко увидели бы, что происходит на вашей стороне. Это похоже на то, как работает TinyURL.com. Я иду туда, даю ему длинный URL, а он выдает более короткий. Затем он связывает этот крошечный код с URL-адресом, который я ввел. Так, например, я вошел в google.com, и он выплюнул tinyurl.com/2tx. «2tx» будет использоваться для перенаправления меня на google.com.
Был ли я на этот раз ближе к цели? Мне кажется, что меня не может быть: - /
Вы бы хотели понять, что они делают все возможное, чтобы вы этого не делали.
Нажатие, а затем возврат не повлияли на ссылку так, как вы сказали, как если бы это было сделано с помощью onlick. На самом деле единственный обработчик событий в разделе скрипта - это document.onclick = b.close. Очевидно, что суп из одинарных символьных переменных не помогает, но мне бы хотелось понять, что здесь происходит.