Вызов кода js-файла внутри div-тегов с заданным id
Здравствуйте
Есть код *.js, инициирующий показ баннера. Чтобы его загрузка не тормозила рендеринг страницы, хочу разместить в нужном месте div блок, а загрузку скрипта перенести в конец документа. Помогите связать div и скрипт, понимаю, что через getElementsByID, но сам допилить не могу. |
document.getElementById('id').innerHTML = 'результат работы скрипта';
|
Нужно вызвать именно скрипт, т.к. это ротатор. вот код
<script type='text/javascript'><!--//<![CDATA[ var m3_u = (location.protocol=='https:'?'https://****/www/delivery/ajs.php':'http://***/www/delivery/ajs.php'); var m3_r = Math.floor(Math.random()*99999999999); if (!document.MAX_used) document.MAX_used = ','; document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u); document.write ("?zoneid=1"); document.write ('&cb=' + m3_r); if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used); document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : '')); document.write ("&loc=" + escape(window.location)); if (document.referrer) document.write ("&referer=" + escape(document.referrer)); if (document.context) document.write ("&context=" + escape(document.context)); if (document.mmm_fo) document.write ("&mmm_fo=1"); document.write ("'><\/scr"+"ipt>"); //]]>--></script> |
Создай скрипт черед DOM-API:
var script = document.createElement('script'); script.src = '//***/www/delivery/ajs.php'; document.getElementById('id').appendChild(script); Вот только если скрипт использует document.write то будучи подгруженным асинхронно, затрет своим write() весь документ. В таком случае нельзя использовать DOM-API. Вместо этого можно обернуть исходный скрипт в скрытый элемент, и расположить ниже такой скрипт: var placeholder = document.getElementById('placeholder'); var contentholder = document.getElementById('contentholder'); placeholder.parentNode.replaceChild(contentholder, placeholder); contentholder.style.display = 'block'; |
Спасибо, со скрытым элементом отлично работает.:)
|
Часовой пояс GMT +3, время: 12:24. |