2011-06-21 102 views
0

我正在爲BlackBerry應用程序設置OTA下載。我有一個包含帶有多個COD文件的JAD文件的文件夾,以及一個帶有指向JAD文件鏈接的簡單HTML下載頁面。下載對每個設備首次正常工作,但是當我在JAD文件中增加MIDlet-Version:的更新版本(新的JAD和COD文件)並從設備下載時,下載的顯示頁面仍顯示舊的版本,當我點擊下載按鈕時,對話框詢問我是否想用新版本1.0替換舊版本1.0。如何以編程方式清除BlackBerry中的Web瀏覽器緩存?

如果我轉到選項/緩存並清除緩存,然後重新下載頁面並單擊OTA鏈接,它現在可以正確顯示新版本可用1.1。因此,似乎設備上的瀏覽器正在緩存舊的JAD文件。

由於清除瀏覽器的緩存修復了問題,有沒有什麼辦法可以通過編程來實現?無論如何,我會從我的BB應用程序打開瀏覽器實例,所以如果可能的話,這很容易做到。另外,是否有任何屬性/屬性,我可以在JAD文件中設置,以防止它被緩存?

回答

2

出於安全原因,BlackBerry不允許第三方應用程序操縱瀏覽器歷史記錄或緩存。但是,您看到的問題的解決方法是將Cache-Control: no-cache HTTP標頭添加到爲.jad文件提供服務的頁面。這將迫使黑莓瀏覽器每次都尋找新版本。

+0

我有no-cache標題已經在服務JAD文件的頁面。問題似乎是JAD本身被緩存。 – MusiGenesis

+0

通過'提供JAD文件的頁面',你的意思是說,當你瀏覽到實際的.jad文件時,這個頭文件將被返回,或者是指你從哪個頁面訪問jad文件?如果是後者,那麼這將解釋爲什麼jad文件仍然被緩存。 – Laepdjek

+0

@Laepdjek:通過「提供JAD文件的頁面」,我的意思是包含可點擊鏈接到JAD文件的頁面。 BB瀏覽器有時會緩存JAD,因此當我在我的網站上放入新版本的JAD/COD時,當用戶點擊下載鏈接時,會彈出一個消息,詢問他們是否安裝了舊版本。如果發生這種情況,我清除瀏覽器緩存並再次單擊該鏈接,然後*然後*我下載最新版本。 – MusiGenesis

0

例子:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Cache-Control" content="no-cache"/> 
<meta http-equiv="Pragma" content="no-cache"/> 
<meta http-equiv="Expires" content="0"/> 
<title>my web Page</title> 
</head> 
<body>  
</body> 
</html> 
相關問題