Загрузите Javascript асинхронно - PullRequest
0 голосов
/ 25 мая 2011

У меня есть этот Java-скрипт, который я вставляю в боковую панель. Для рекламного баннера размером 350x200.

<SCRIPT language="Javascript">
var cpmstar_rnd=Math.round(Math.random()*999999);
var cpmstar_pid=14214;
document.writeln("<SCR"+"IPT language='Javascript' src='http://server.cpmstar.com/view.aspx?poolid="+cpmstar_pid+"&script=1&rnd="+cpmstar_rnd+"'></SCR"+"IPT>");
</SCRIPT>

^ ^ Это java-скрипт, который мне дала рекламная сеть, я не могу его редактировать

Я хочу загрузить этот рекламный баннер максимально быстро, не мешая остальной части моего сайта.

В настоящее время я помещаю этот рекламный тег на пустую HTML-страницу, затем вызываю эту HTML-страницу с помощью IFRAME на боковой панели. Я слышал, что IFrames загружаются асинхронно.

Есть ли лучший метод, который я мог бы использовать?

Ответы [ 3 ]

1 голос
/ 25 мая 2011

Если ваша задача скорее практическая, чем академическая, продолжайте и используйте iframe.Iframe по сути является встроенным окном, и поэтому действительно загружается асинхронно.

Вы также можете использовать Ajax для загрузки скрипта, но путь наименьшего сопротивления - это использование iframe (опять же, если выбольше беспокоиться о том, чтобы заставить его работать, а не проверять правильность вашего сайта - если ваш тип документа XHTML Strict и вы предоставляете свой контент в формате XML, вам не следует использовать iframes, но у меня есть догадка, что вы этого не делаете).

0 голосов
/ 25 мая 2011

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

Кроме того, iframe может быть немного медленнее, чем асинхронная загрузка скриптов через ajax из-за запроса дополнительной страницы, но поддерживать его намного проще.

0 голосов
/ 25 мая 2011

начните с обновления вашего кода

<script language="Javascript" type='text/javascript'>
var cpmstar_rnd=Math.round(Math.random()*999999);
var cpmstar_pid=14214;
document.writeln("<scr"+"ipt language='Javascript' src='http://server.cpmstar.com/view.aspx?poolid="+cpmstar_pid+"&script=1&rnd="+cpmstar_rnd+"'></scr"+"ipt>");
</script>
...