4

我正在尝试优化页面渲染和下载,但我陷入了这种情况......我想在页面加载结束时加载广告,我做了一个简单的测试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>元素但没有任何效果......

我真的需要帮助;)

4

3 回答 3

2

我实际上是在 newsweek.com 网站上使用名为writeCapture.js的脚本完成的。它拦截 document.write 方法并将所有广告代码切换为 html 注入(真的很花哨!)。

无论如何,要查看一个工作示例 ( newsweek.com ) thedailybeast.com并在控制台中输入 newsweek.ads.refresh()。至于文档,writeCapture 网站会解释一切。

于 2011-02-10T00:43:13.140 回答
2

最后我解决了我的问题,在页面加载后使用 jQuery 加载 iframe ...

为 ADV 创建一个特定页面,然后加载 iframe

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

AD 脚本不会减慢页面加载速度,当文档准备好时,iframe 会放置在正确的位置,不会导致 ADV 替换所有内容,ADV 也会获得正确的 URL 引用

希望这可以帮助某人...

于 2011-02-10T14:24:24.723 回答
0

我使用以下代码在我的网站上执行此操作:

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' 函数是在 '$(document).ready' jQuery 事件中调用的。这会动态创建一个脚本标签。浏览器加载远程脚本。加载后,将执行您的“onload”功能。

希望有帮助。

鲍勃

于 2011-02-10T00:38:07.247 回答