Загрузить рекламу (скрипт) после страницы, используя jquery - PullRequest
4 голосов
/ 10 февраля 2011

Я пытаюсь оптимизировать рендеринг и загрузку страницы, и я застрял в этой ситуации ... Я хочу загрузить рекламу в конце загрузки страницы, я сделал простой тест PAGE

Код:

<!DOCTYPE html>
<html lang="en">
  <head>   
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
          var AdBrite_Title_Color = '443E3E';
          var AdBrite_Text_Color = '443E3E';
          var AdBrite_Background_Color = 'D1CFCF';
          var AdBrite_Border_Color = '443E3E';
          var AdBrite_URL_Color = '443E3E';
          try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}
          $(document).ready(function(){                    
          });    
    </script>     
  </head>  
  <body style="background: #90EE90;">
  <div id="page" style="">              
      <div id="loginbox" style="position: fixed; top: 150px; left: 250px;">          
          <span style="white-space:nowrap;"> <!-- AD MUST BE HERE-->
          <a target="_top" 
             href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=1866421&afsid=1">
           <img src="http://files.adbrite.com/mb/images/adbrite-your-ad-here-banner-w.gif" 
              style="background-color:#443E3E;border:none;padding:0;margin:0;" 
              alt="Your Ad Here" width="11" height="60" border="0" />
          </a></span>        
      </div>                
    </div>     
  </body>
</html>

Там, где есть HTML-комментарий, изначально были:

<script type="text/javascript">
document.write(String.fromCharCode(60,83,67,82,73,80,84));
document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1866421&zs=3436385f3630&ifr='+AdBrite_Iframe+'&ref='+AdBrite_Referrer+'" type="text/javascript">');
document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));
</script>

Мне нужно загрузить этот элемент после страницы, используя jquery, я пробовал много решений, связывая действие document.write, добавляя элемент <script></script>, но ничего не работает ...

Мне действительно нужна помощь;)

Ответы [ 3 ]

2 голосов
/ 10 февраля 2011

Я на самом деле сделал это на сайте newsweek.com, используя скрипт writeCapture.js . Он перехватывает метод document.write и переключает весь рекламный код на html-инъекцию (очень интересно!).

В любом случае, чтобы увидеть рабочий пример ( newsweek.com ) thedailybeast.com и введите newsweek.ads.refresh () в консоли. Что касается документации, сайт writeCapture объяснит все.

2 голосов
/ 10 февраля 2011

В конце я решил свою проблему, загружая iframe после загрузки страницы, используя jQuery ...

Создайте определенную страницу для ADV, затем загрузите iframe

$(document).ready(function(){     
  $('#advtop').html('<iframe src="http://www.blablabla.ext/ad.php?pos=top"></iframe>');
});

ADскрипт не замедлит загрузку страницы, и когда документ будет готов, iframe будет помещен в правильную позицию, не вызывая при этом замены ADV, также ADV получит правильный URL-реферер

Надеюсь, это кому-нибудь поможет..

0 голосов
/ 10 февраля 2011

Я делаю это на своем сайте, используя следующий код:

function adScript(){
    var s1 = document.createElement('script');
    s1.src='http://put_your_url_here';
    s1.type = 'text/javascript';
    s1.onload = function(){
         // initialize the page to use the script
    }
    document.getElementsByTagName('head')[0].appendChild(s1);
}
adScript();

По сути, функция 'adScript' вызывается в событии jQuery '$ (document) .ready'.Это динамически создает тег сценария.Браузер загружает удаленный скрипт.После загрузки выполняется ваша функция 'onload'.

Надеюсь, это поможет.

Bob

...