Вот пример, в котором перед появлением рекламы, на определенное время появляется баннер загрузки, в соответствующем месте. <mce:script type="text/javascript"><!-- function replaceNode(source, target, call) { var delay = 2; // время в секундах, в течении которого показываем баннер загрузки var targetEl = document.getElementById(target); var sourceEl = document.getElementById(source); if (call === undefined) { /* Если блок не отобразил текст рекламы, то баннер загрузки вообще не показываем (чтоб зря не беспокоить юзера). Так как innerText не работает в файрфоксе, то берем innerHTML и вырезаем из него все скрипты и тэги, то есть оставляем только "полезный" текст. Я использую stripScripts, stripTags, и strip яваскриптового фреймворка Prototype, но здесь достаточно вырезать все скрипты и тег link при помощи регулярных выражений, или просто выкинуть следующие 4 строки кода, если неохота заморачиваться. */ var advTxt = sourceEl.innerHTML; advTxt = advTxt.stripScripts().stripTags().strip(); if (!advTxt) return; targetEl.style.display = 'block'; // функция вызовет себя через время delay секунд window.setTimeout(function (){replaceNode(source, target, 'true');}, delay*1000); return; } // попадаем сюда при повторном вызове targetEl.innerHTML = ''; targetEl.appendChild(sourceEl); sourceEl.style.display = 'block'; } // --></mce:script> ... Текст страницы ... <div id="Target"> Через пару секунд здесь появится реклама </div> : Текст страницы : // Перевешиваем рекламу. // Функцию можно вызывать и для нескольких различных блоков (директ, адсенс итп), указываем соответствующие id источника и приемника. <div id="Source" style="display:none;" _mce_style="display: none;"> Блок с рекламой </div> replaceNode('Source', 'Target'); |
JavaScript появляется баннер загрузки, в соответствующем месте
|