Как использовать jsonp для асинхронного вызова рекламы на основе JavaScript на странице - PullRequest
0 голосов
/ 01 декабря 2010

Я пытаюсь использовать jsonp для решения проблемы с производительностью страницы.На моем сайте я обычно показываю рекламу, выписывая тег-скрипт, подобный этому document.write("<scr" + "ipt src='advendor.com\myad.php'></scr" + "ipt>");.Это все хорошо, за исключением того факта, что сайты, на которые указывают теги сценария, имеют неприятную привычку быть очень медленным.Поэтому, когда у меня есть страница с 5 рекламными объявлениями, она может задержать все время загрузки моих страниц из-за блокировки синхронных запросов.

Поэтому я решил сделать jsonp-вызов в рекламный сервис, который даст мнетег script, который необходимо записать на страницу.Проблема в том, что я получаю тег <script> на странице, но тег script ничего не делает.Будет ли сценарий работать только в том случае, если он был написан до document.ready?

УТОЧНЕНИЕ: в настоящее время наш серверный код выполняет вызовы в систему показа рекламы, поэтому он определяет, какой рекламный код я получаю на стороне сервера (скрипт с тегом "src =", который указывает на сайт продавца, который генерирует фактическое объявление и отслеживание).То, что я пытаюсь сделать, это запретить рекламным звонкам блокировать загрузку моего контента.Поэтому я хочу сначала контент, а потом всю рекламу.Размещение тегов сценария в нижней части страницы не является приемлемым решением, поскольку мне нужно определить, где реклама будет отображаться на странице.IE, <div id="adOneHere"><script src="vendorssite.com"></script></div>, у меня может быть до пяти таких рекламных вызовов на одной странице.У каждого есть свои изображения / отслеживание / и т. Д.

Моя проблема похожа на ту, к которой обращен здесь , за исключением того, что мне нужно получить тег "script" с централизованного сервера изнесколько доменов, и мне нужно сделать document.write внутри определенного элемента dom, я хорошо разбираюсь в jQuery, если это поможет.

Ответы [ 4 ]

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

Оказывается, это то, что мне было нужно ( текст ссылки ). Если вам нужно загрузить теги сценариев, которые загружают и выполняют код после события загрузки страницы, то этот путь можно сделать.

0 голосов
/ 01 декабря 2010

Попробуйте использовать getScript в jQuery, внутри функции $(document).ready, чтобы загружать рекламу после показа остальной части страницы.

(не знаю, так ли этоработает с этими рекламными скриптами ...)

0 голосов
/ 01 декабря 2010

Попробуйте и используйте JQuery getScript inline, где именно находится document.write Это асинхронно, и его не нужно использовать вместе с $ (document) .ready ().

<script>$.getScript("advendor.com\myad.php");</script>

Здесь есть подробное обсуждение: Не могу добавить элемент о других способах достижения этого и поведении JQuery при попытке сделать это другими способами.

0 голосов
/ 01 декабря 2010

document.write() очень медленный и приостанавливает анализ HTML во время работы. Вы можете вставить рекламу в DOM на DOM-ready. Нет необходимости тянуть тег <script> через JSONP. Добавьте небольшой скрипт прямо перед закрывающим тегом </body>, который добавляет эти <script>-теги на страницу, где это необходимо.

...