2017-07-18 4 views
1

私はHTMLにハードコードされた広告スクリプトを実行しています。 240秒後に広告タグを更新します。簡単な方法はiframeに広告タグを読み込んでリフレッシュすることですが、私の場合はiframeを使用できません。div内のハードコードされた外部JavaScriptを再実行

今のところ、このような広告タグが読み込ま:

<div class="banner_728"> 
     <script type="text/javascript"><!-- 
      bb = new Object(); 
      bb.size = "728x90"; 
     //--></script> 
     <script type="text/javascript" src="//adserver.com/tags/tags.js"></script> 
    </div> 

どのように私は私のサイトにハードコーディングその広告タグを残しながら、秒の一定量の後にそのジャバスクリプトを再実行する可能性があります。

+0

あなたは「タグを追加」リフレッシュすることによって何を意味していますか? –

+0

基本的に広告は240秒後に再度実行されます –

+0

可能な重複はありますか? https://stackoverflow.com/questions/4738595/how-do-i-delay-a-function-call-for-5-seconds –

答えて

1

どうやら広告サーバーJSを再度読み込む必要があります。

var bb, created=false; 
function reRun() { 
    bb = new Object(); 
    bb.size = "728x90"; 

    if(created) document.body.removeChild(document.getElementById("id-ads")); 

    // try this instead 
    var js = document.createElement("script"); 
    js.type = "text/javascript"; 
    js.src = "//adserver.com/tags/tags.js"; 
    js.id = "id-ads"; 
    document.body.appendChild(js); 

    created = true; 

} 
var TIMEOUT = setTimeout(reRun , 240 * 1000); 
reRun(); 

オンザフライで外部jをロードするセキュリティ上の問題がある場合とない場合があります。 ニーズのために役立つことになるだろう、この記事をお読みください:

How do you dynamically load a javascript file from different domain?

+0

ありがとうございました!私たちはほぼそこにいると思う。私はしかし、エラーが発生しています。 "Uncaught TypeError:reRunで不正なコンストラクタ"。あなたの例の6行目を指します。 "var script"で始まるもの。 –

+0

申し訳ありません、これはPrototypeJSを使用しています。ここをクリックしてダウンロード: http://prototypejs.org/download/またはプレーンjsをしたい場合 私は答えを編集しました、それをテストしてください... – gugateider

関連する問題