0

私はここで終わりです。ホームページの読み込み時間を高速化しようとしています。速度テストと使いやすさで私たちを殺す 2 つの広告があります。広告コードは、次のような in script タグを含む script タグです。

<script type="text/javascript">if(typeof(cachebuster) == "undefined"){var cachebuster = 
    Math.floor(Math.random()*10000000000)} if(typeof(dcopt) == "undefined"){var dcopt = 
    "dcopt=ist;"} else {var dcopt = ""} if(typeof(tile) == "undefined"){var tile = 1}
     else 
    {tile++} document.write('<scr'+'ipt src="AD_URL;' + dcopt + ';tile=' + tile + 
    ';sz=728x90;ord=' + cachebuster + '?"></scr'+'ipt>');
</script>
<noscript>
     <a href="AD_URL" target="_blank" ><img src="AD_URL" border="0" alt="" /></a>  
</noscript>

これは広告の 1 つの元のコードです。2番目は非常に似ています。これは読み込みに永遠にかかります。場合によっては 10 ~ 15 秒かかることもあります。クールではありません。

私はこのようなことをしようとしました:

$('#HeaderAd').append(function(){
    var ad = '<"scr" + "ipt " type="text/javascript">if(typeof(cachebuster) == "undefined"){var cachebuster = Math.floor(Math.random()*10000000000)} if(typeof(dcopt) == "undefined"){var dcopt = "dcopt=ist;"} else {var dcopt = ""} if(typeof(tile) == "undefined"){var tile = 1} else {tile++} "</scr"+"ipt>";';
    var ad2 = 'document.write("<scr"+"ipt " src="http://ad.doubleclick.net/adj/ohn.auctionarms/shooting_sports_home;pos=atf_3;" + dcopt + ";tile=" + tile + ";sz=728x90;ord=" + cachebuster + "?">"</scr"+"ipt>");';
    var ad3 = '<noscript><a href="http://ad.doubleclick.net/jump/ohn.auctionarms/shooting_sports_home;pos=atf_3;sz=728x90;ord=123456789?" target="_blank" ><img src="http://ad.doubleclick.net/ad/ohn.auctionarms/shooting_sports_home;pos=atf_3;sz=728x90;ord=123456789?" border="0" alt="" /></a></noscript>';

    var ad_ = document.createElement('script');
    var ad_2 = document.createElement('script');
    ad_.type = 'text/javascript';
    ad_2.src = "http://ad.doubleclick.net/adj/ohn.auctionarms/shooting_sports_home;pos=atf_3;' + dcopt + ';tile=' + tile + ';sz=728x90;ord=' + cachebuster + '?";
    ad_.innerText = 'if(typeof(cachebuster) == "undefined"){var cachebuster = Math.floor(Math.random()*10000000000)} if(typeof(dcopt) == "undefined"){var dcopt = "dcopt=ist;"} else {var dcopt = ""} if(typeof(tile) == "undefined"){var tile = 1} else {tile++} ';// + 'document.write('+ad_2.src+');';
    ad_.appendChild(ad_2);
    console.log(ad_);
    return ad_;
});

しかし、これによりjqueryエラーが発生し、ロードされません。広告が読み込まれません。「document.createElement」を 1 つだけ使用してすべてを実行しようとしても、それでも気に入りません。

私はこれを間違っていますか?これらの広告の読み込みを非同期にするより良い方法はありますか?

4

1 に答える 1

1

最終的に、jqueryAd というクールで小さな jquery スクリプトを見つけました。これは、私がやろうとしていたことに対して非常にうまく機能しました。広告の読み込みが遅くなり、速度が大幅に向上しました。ここで見つけました:jQueryAd

于 2013-07-12T23:20:37.307 に答える