我使用Google Feed JSAPI讀/解析飼料。問題是,當飼料的變化,以前的條目變得無效(鏈接和圖像不工作),所以我不能負載飼料的緩存版本。我認爲當加載Feed不使用緩存版本時會有一個選項,但我沒有看到它。我的解決方案是添加一個變量(t)到feed url的末尾,所以它是「獨一無二的」,但這看起來很亂(但有效)。任何人都知道更好的方法來做到這一點?從防止谷歌飼料API使用緩存飼料
function onLoad() {
// Create a feed instance that will grab feed feed.
var feed = new google.feeds.Feed(feedLocation+"&t="+new Date().getTime());
// Request the results in XML (so that we can parse out all the info
feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
//must set this - if you don't, it defaults to 4
feed.setNumEntries(50);
// Calling load sends the request off. It requires a callback function.
feed.load(feedLoaded);
}
你找到一個解決辦法?這裏的問題在於,提供Feed的服務器正在使用基於Feed的URL的緩存。因此,如果我將隨機字符串添加到該URL的查詢字符串中,那麼這不僅會繞過Google的緩存,還會繞過服務器的緩存。猜猜我必須修改服務器以添加一個特殊的*旁路外部緩存*參數,這在進行內部緩存時會被忽略。 – feklee
不,除了我在問題中提到的問題外,沒有其他解決方案 - 將時間添加爲「隨機」參數。它工作,只是沒有我想要的那麼幹淨。 –
我現在做同樣的,也將是這樣的:「?bypass_cache =」'+ Math.floor(Date.now()/ refreshIntervalInMs)' – feklee