2012-01-02 3 views
4

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

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

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

http://cl.ly/401C1D3Y3u2G2k2k3s0x

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

http://ib.adnxs.com/ttj?id=694021 & центибар = [CACHEBUSTER] & pubclick = [INSERT_CLICK_TAG]

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

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

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

Олли

+0

Попробуйте проверить его с помощью Firebug и Opera Dragonfly. возможно, вы обнаружите некоторые другие подсказки. Тем не менее, я думаю, что ваше поле http 'referer' может быть причиной для другого поведения. – c69

ответ

0

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

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

Смежные вопросы