Как вы защищаете веб-страницы от медленных треков рекламы? - PullRequest
3 голосов
/ 05 декабря 2008

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

Если пиксель никогда не заканчивает загрузку, onLoad никогда не запускается, и в нашем случае страница не будет работать без этого.

У нас есть дополнительная проблема Гомеса. Как вы, возможно, знаете, у них есть боты по всему миру, которые измеряют скорость сайта, и нам важно хорошо выглядеть в их измерениях, несмотря на недостатки их методологии. Их боты выполняют обработчики onLoad. Таким образом, даже если я использую скрипт, который запускается в onLoad, чтобы добавить пиксели на страницу после того, как все остальное закончится, мы все равно можем получить дерьмовые баллы Гомеса, если для загрузки пикселя требуется 80 секунд.

Моим решением было добавить пиксели на страницу с помощью обработчика onMouseMove, чтобы их запускали только люди. Ребята, у вас есть идеи получше?

Ответы [ 2 ]

6 голосов
/ 05 декабря 2008

jQuery и другие JavaScript-фреймворки могут помочь решить проблему с помощью такого метода, как функция «готовность документа», которая запускается, когда документ готов, и не требует ожидания всех изображений.

Я процитирую прямо из учебника jQuery:

Первое, что в конечном итоге делает большинство программистов на Javascript, это добавляет в свою программу некоторый код, подобный следующему: window.onload = function () {alert ("welcome"); } Внутри которого находится код, который вы хотите запустить прямо при загрузке страницы. Однако, проблема в том, что код Javascript не запускается до тех пор, пока не будут загружены все изображения (включая рекламные баннеры). Во-первых, причина использования window.onload заключается в том, что HTML-документ «документ» еще не загружен, когда вы впервые пытаетесь запустить свой код. Чтобы обойти обе проблемы, jQuery имеет простой оператор, который проверяет документ и ждет, пока он не будет готов для манипулирования, известный как событие ready:

 $(document).ready(function(){
   // Your code here
 });

Вы можете использовать это событие для загрузки проблемных изображений.

См. Эту ссылку для получения дополнительной информации.

http://docs.jquery.com/Tutorials:How_jQuery_Works

1 голос
/ 08 января 2009

Я также работаю на большом сайте, и вот что мы сделали:

  1. Перемещено объявление звонков в конец страница, поэтому содержимое будет отображаться первым (потому что JS синхронно).

  2. Загружены объявления с помощью Ajax Calls (для разрешить использование страницы, пока реклама загружается) в скрытый элемент.

  3. Позиция перемещена на правильную место в DOM и "невидимое".

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