Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как отложить загрузку javascript-баннера (https://javascript.ru/forum/events/5001-kak-otlozhit-zagruzku-javascript-bannera.html)

Octane 07.09.2009 18:12

Строки так не переносят в JavaScript.

alexKniaz 07.09.2009 19:31

Попытайтесь так
<script type="text/javascript"
>
window.onload=function(){
document.getElementById('adv_place_1').innerHTML='<script type="text/javascript">AC_FL_RunContent = 0;</'+'script>';
document.getElementById('adv_place_1').innerHTML+='<script src="http://*.ru/AC_RunActiveContent.js" language="javascript"><'+'/script>';
document.getElementById('adv_place_1').innerHTML+='<script language="javascript" type="text/javascript" src="http://*.ru/***.js"><'+'/script>';}</script>

Дмитрий_online 07.09.2009 22:37

B~Vladi, создать скрипты DOM-методами у меня не получилось... За подробностями ходил по предложенной вами ссылке, но мне это что-то не особо помогло...
alexKniaz, попробовал, как вы предлагаете - баннер не показывается...

В результате чуть доработал свой код, добавив window.onload:

// Собственно делаем подстановку

window.onload=function(){
            document.getElementById('adv_place_1').appendChild(document.getElementById('adv_block_1'));
            }


Теперь баннер не конфликтует с ЯДом, что очень приятно! Но что-то меня не оставляют мысли, что все сделано как-то через одно место. Можно ли сделать как-то элегантнее?

B~Vladi 08.09.2009 11:04

Во-первых, непонятно для чего скрипт выдерать из одного места и вставлять в другое?!
На самом деле все счётчики нужно выносить в пост-загрузку. Например, если вы один вынесли, а второй нет, то последний может затормозить событие onload, поэтому на него (событие) вешать не всегда хорошо. Пост-загрузка: перед закрывающимся тегом </body> ставим примерно такой код:
<script type="text/javascript">
  var js=document.createElement('script');
  js.src='counter.js'; // Устанавливаем путь для внешнего скрипта, если таковой нужен;
  js.type='text/javascript'; // Установим тип скрипта (для правильности).
  // Если в тело скипта необходимо вставить JS-код:
  js.appendChild(document.createTextNode('AC_FL_RunContent = 0;')) // Добавляем JS-код.
  document.getElementById('scriptPaste').appendChild(js); // И добавляем его в нужное нам место на странице.
</script>


И так со всеми счётчиками. После вставки - счётчики сами подгрузятся браузером. Для экономии можно оформить как отдельную функцию и подгружать нужные нам скрипты. Ещё можете посмотреть другой готовый вариант тут.

Дмитрий_online 08.09.2009 21:50

B~Vladi, на мой взгляд, вы делаете абсолютно тоже самое - пересаживаете счетчик из одного места в другое с той лишь разницей, что исходный скрипт вы переделываете под себя, я же вставляю его как он есть. Поправьте меня, если я не прав.

B~Vladi 09.09.2009 11:02

Цитата:

Сообщение от Дмитрий_online
B~Vladi, на мой взгляд, вы делаете абсолютно тоже самое - пересаживаете счетчик из одного места в другое

Откуда такие выводы?!:blink:

Этот скрипт создаёт скрипты и вставляет их в нужное место, а не перемещает.

mirra20012001 10.09.2009 14:25

привет.. может быть попробывать загружать скрипт . спомощью AJAX.
а прицеплять спомощью обработчика. По крайне мере есть состояние 4.


Часовой пояс GMT +3, время: 13:14.