Объявление Javascript неправильно обслуживается в браузере, если не вызывается напрямую? - PullRequest
4 голосов
/ 03 января 2012

Я надеюсь, что это правильное место, чтобы задать этот вопрос - я посмотрел остальные сайты в сети, но это выглядело как наиболее подходящее место.

У нас возникли проблемы с размещением рекламы на наших веб-сайтах. По разным причинам наша настройка рекламы немного сложна - мы предоставляем сторонние теги javascript (AppNexus) через наш собственный рекламный сервер (OpenX) через iframes. В настоящее время сторонние теги javascript не отображаются правильно, хотя в прошлом они работали очень хорошо.

Отладка этого в Safari Я обнаружил несколько вещей, которые мне кажутся немного необычными, и я изо всех сил пытаюсь понять, что происходит. Используя веб-инспектор для проверки стороннего JavaScript, он отображается в веб-инспекторе как пустой файл. Кроме того, если я проверяю вкладку сети, заголовки отображаются и выглядят нормально, но нет вкладки «контент», с помощью которой можно проверить возвращаемый контент. На вкладке «Сеть» показан запрос файла как завершенный и с подходящими кодами состояния (200/302):

http://cl.ly/401C1D3Y3u2G2k2k3s0x

Однако, если я загружаю файл прямо в веб-браузер, он загружается нормально:

http://ib.adnxs.com/ttj?id=694021&cb=[CACHEBUSTER]&pubclick=[INSERT_CLICK_TAG]

FWIW, файл javascript использует document.write, чтобы выплевывать изображение или другой iframe. Также стоит упомянуть, что в консоли нет связанных ошибок - есть одна, связанная с Google Ads, но проблема сохраняется, если я загружаю iframe сервера объявлений напрямую, без остальной части сайта.

Кто-нибудь видел такое поведение раньше, когда файл загружается просто отлично, но он (пустой / не извлекается / не анализируется / что происходит), когда вызывается как часть другой страницы? Если это так, вы могли бы помочь мне исправить это?

Заранее благодарим за любую помощь, которую вы можете мне оказать - я надеюсь, что это имеет смысл и будет рад предоставить любую дополнительную информацию, которая может помочь мне разобраться в этом!

Олли

1 Ответ

0 голосов
/ 06 января 2012

Я предполагаю, что сторонний сайт фильтрует выходные данные со своих серверов на основе HTTP-реферера, отправляемого в запросе (метод, используемый многими веб-хостами для блокирования контента с горячей ссылкой). Попробуйте поместить ссылку на файл javascript в интерактивную ссылку на веб-странице вашего сервера, щелкните ее, а затем посмотрите, загружается ли она или появляется пустая страница. Вы также можете попробовать загрузить расширение браузера, которое позволит вам создать HTTP Referer (например, RefControl для Firefox), а затем изменить ссылку на свой сайт вместо сторонней и попробовать вставить URL-адрес в браузер и посмотреть, если он загружается.

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

...