2012-03-31 11 views
2

phpで作成されたランダム広告でiframeを表示するJavaScriptウィジェットを設計しています。戻るボタンが押されたときにJavaScriptファイルがキャッシュされる

ページがリフレッシュされるたびに、新たなランダム広告のセットが作成されます。

ユーザーが広告をクリックすると、広告が表すWebサイトにリダイレクトされます。

問題は、ユーザーが[戻る]ボタンを使用したときに発生します。

バックボタンはキャッシュされたページを表示するだけなので、同じ広告が表示されますが、これは嫌です。

広告が表示されるウェブサイトは私のものではないので、私はヘッダーファイルにアクセスできません。

JavaScriptリロード機能を使用する場合でも、JavaScriptファイルはキャッシュされます。

ご協力いただければ幸いです。

+0

おそらくサーバ側で何らかのキャッシュが有効になっていますか? – Daxcode

答えて

3

問題は、Javascriptのキャッシュがブラウザによって制御されるクライアント側のメカニズムであることです。だから、これを行うための一つの方法は、キャッシュしないブラウザを伝えるためにキャッシュなしヘッダを使用している:

<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='0'> 
<meta http-equiv='pragma' content='no-cache'> 

別のオプションは、要求を行うことであると最後に乱数を追加することにより、毎回ユニークに見えますJavascriptを:あなたはjQueryのを使用している場合

var img.src = 'www.mysite.com/ads.php'+'?'+Math.random()*Math.random(); 
return $(img).load(function() 
{ 
    alert('completed!'); 
}); 

最後のオプション:

$.ajax({ 
    url: 'test.html', 
    cache: false, 
    success: function(html){ 
    $('#results').append(html); 
    } 
}); 
+0

これらのどれも動作しません。これは私自身のウェブサイトではないので、私はajaxやヘッダーにアクセスできません。そして私はすでにスクリプトを使用している500のウェブサイトを持っているので、私は今呼び出されている方法を変更することはできません。 –

+0

あまりにも劇的な変更なしでそれを修正するには遅すぎるかもしれないように聞こえます... –

+0

ヘッダーを動的に追加すると、ブラウザはそれらを見て尊重しますか? –

0

それがかのうならバックお尻を押して、ユーザを待ちませんに。彼があなたのウェブサイトを離れる直前に広告を切り替えます。

関連する問題