Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   тизер и динамическое подключение файла скрипта (https://javascript.ru/forum/events/24642-tizer-i-dinamicheskoe-podklyuchenie-fajjla-skripta.html)

crime 08.01.2012 20:11

тизер и динамическое подключение файла скрипта
 
я сам не сильно понимаю js. нашёл в сети как подключить js после загрузки страницы, но оно мне не помогло.

в общем есть код для вставки тизера пример:
<script type="text/javascript">
teasernet_blockid = 320578;
teasernet_padid = 143228;
</script>
<script type="text/javascript" src="http://demilith.com/88/9866b71fc"></script>


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

я пробовал так :

var direct_block = document.createElement('div')
     direct_block.className = 'direct_block';
 var script = document.createElement('script');
     script.type="text/javascript";
     script.text="teasernet_blockid = 320578; teasernet_padid = 143228;";
 direct_block.appendChild(script);
     script = document.createElement('script');
     script.type="text/javascript";
  direct_block.appendChild(script);
    elem.appendChild(direct_block);

Slawaq 09.01.2012 06:26

var ds = document.createElement('script');
ds.setAttribute('src','http://demilith.com/88/9866b71fc');
ds.setAttribute('type','text/javascript');
document.body.appendChild(ds);

crime 09.01.2012 10:13

суть в том, что скрипт подключается и по вашему и по моему. Но как я выяснил вчера вечером, код вставляемых и распространённых тизеров содержит в своём коде document.write который по сути не может быть исполнен после загрузки документа.

Я понял что в этом основная причина. Подскажите пожалуйста, является ли использование iframe единственным способом реализовать задуманное или есть ещё способы подключить код содержащий document.write после загрузки основного документа?

Pavel M. 09.01.2012 12:10

может быть подключить то, что в первом сообщении в самом низу body
только в каком нибудь скрытом div
пусть скрипт выведет что надо,
а потом этот html код, который создал скрипт, скопируете в другое место вашей страницы

crime 09.01.2012 13:00

да, но заренее не известно количество блоков и расположение js скрипта тизерной сети в сети, и вообще какой именно сети. src js тизера отдаёт мой сервер рандомно по ajax . количество рекламных блоко может быть и один и 100 и 150 ...

crime 09.01.2012 13:03

в пустой iframe грузятся все скрипты тизера, но самих тизеров нет. мне кажется причиной этому то что iframe пуст как собственно и его src и .location пустые, а скрипт тизера пытается получить url загрузившей его страницы

crime 09.01.2012 13:07

можно ли посредством js создать iframe имитирующий загрузку не существующей страницы сайта http://mojsajt.ru/super_stranica.html или существующей, но не загружаемой на самом деле. чтобы подключаемые скрипты тизеров думали что их грузит нужная им страница, а не фрэйм.

crime 09.01.2012 13:34

похоже теперь суть сводится к тому, чтобы iframe слал в refer адрес не существующей страницы без её загрузки, но мне кажется это не возможным :(

rafonets 10.01.2012 18:50

<html>
<head>
function ShowAllTeaser()
{
  getElementById('teaser').style.display='block';
}
</head>
<body onload="ShowAllTeaser();">
<header>Title</header>
<left>
<!-- TEASER -->
<div id="teaser" style="display:none;">
<script type="text/javascript">
teasernet_blockid = 320578;
teasernet_padid = 143228;
</script>
<script type="text/javascript" src="http://demilith.com/88/9866b71fc"></script>
</div>
<!-- TEASER -->
</left>

<center>
  <article>
    <articletitle>News 1</articletitle>
    <descr>NEws descr</descr>
  </article>
  <article>
    <articletitle>News 2</articletitle>
    <descr>NEws descr</descr>
  </article>
</center>

<right>
<!-- TEASER -->
<div id="teaser" style="display:none;">
<script type="text/javascript">
teasernet_blockid = 320578;
teasernet_padid = 143228;
</script>
<script type="text/javascript" src="http://demilith.com/88/9866b71fc"></script>
</div>
<!-- TEASER -->
</right>

<footer>Footer</footer>
</body>
<html>


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

Deff 23.07.2012 01:55

Цитата:

Сообщение от crime
да, но заренее не известно количество блоков и расположение js скрипта тизерной сети в сети, и вообще какой именно сети. src js тизера отдаёт мой сервер рандомно по ajax . количество рекламных блоко может быть и один и 100 и 150 ...

Можно поключать тизерный контент вставкой в пустой фрейм, там операции типо document.write('<div id="' + blockPrefix + b + '"></div>'); пройдут на ура


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