2010-10-01 152 views
3

YouTube讓YouTube視頻在緩存中發揮作用時取得了相當的成績。但是,這導致我的ajax網站出現問題,並想知道是否有辦法禁用正在緩存的YouTube視頻。特別是在Internet Explorer中。禁用緩存YouTube視頻

我無法禁用整個頁面的緩存,因爲我需要緩存來處理圖像和其他內容,以提高速度。

任何人都知道任何解決方案?

+0

它引起什麼樣的問題? – 2010-12-03 23:38:11

+0

當我們每次重新加載頁面需要更長的時間才能開始播放視頻。有時候它不會播放,並且YouTube上的錯誤表明視頻不可用。如果我清除緩存,它會再次加載正常。 – UpHelix 2010-12-03 23:39:58

回答

4

只要確保每次用戶從一個唯一的URL下載。您的播放器代碼包含如下內容:

http://www.youtube.com/v/sMiUpl_6jI0?fs=1&hl=en_GB 

這是YouTube播放器的網址。所有你需要做的就是在最後添加新的隨機生成的令牌一樣(例如PHP):

http://www.youtube.com/v/sMiUpl_6jI0?fs=1&amp;hl=en_GB&amp;noCachePlease=<?php echo uniqid() ?> 

每次訪問該網址將包含一個獨特的標記,因此瀏覽器將不使用任何緩存的頁面機制。

+0

好主意,我正在用IE緩存的ajax頁面來做這件事。不知道爲什麼我沒有想到在這裏使用它。用JS輕鬆完成。 youtubeUrl + ='&noCache ='+ Math.random();我會測試一下。 – UpHelix 2010-12-06 20:28:58

+0

經過測試,看起來不起作用。它可能在某個時間有效,但我可以理解爲什麼YouTube會「修復」這個,以免它們浪費帶寬。 – gavaletz 2011-09-26 17:54:16

0

這meta標籤可以幫助:

<meta http-equiv="Expires" content="0"> 

<meta http-equiv="Pragma" content="no-cache"> 

我相信,第二個是你在找什麼。看看它,肯定有人有一個很好的教程。

我記得,除非用戶自己做,否則不可能將其清除。

歡呼聲

+2

不幸的是,HTTP標頭不會影響Flash視頻緩存行爲,我的意思是,嘗試在HTML頁面中放置一個簡單的SWF文件,並且無論您在該頁面中設置了什麼HTTP標頭,都可以看到它始終被緩存。您建議的內容適用於正常的網頁內容,例如圖像但不包含Flash文件。 – 2010-12-04 03:27:57