Вызов кода 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, время: 20:57. |