使用PhoneGap删除Android中的缓存

时间:2012-09-01 01:01:27

标签: android cordova

我想删除Android中的缓存。我正在使用PhoneGap技术。实际上在Blackberry或iOS上一切正常,但Android中存在问题。在我的应用程序中,有一个自动建议的站名列表。当用户第一次选择电台时,它很好,但是当用户下次选择同一电台时,它会以大字体显示电台名称(白色背景(与我的原始电台列表不同的单个列表),我认为是由于缓存)。

我认为这是因为Android使用Chrome。你能建议我如何删除这个缓存吗?

<input id="getStationDesc" name="getStationDesc" type="text" class="log_txtfield" disabled="disabled"/>
<script>
    var obj = actb(document.getElementById('getStationDesc'),stationList);
    //setTimeout(function(){obj.actb_keywords = custom2;},10000);
    this.actb_timeOut = -1;
    // Number of elements autocomplete can show (-1: no limit)
    this.actb_lim = 10;
    // should the auto complete be limited to the beginning of keyword?
    this.actb_firstText = true;
    // Enable Mouse Support
    this.actb_mouse = true;
    // Delimiter for multiple autocomplete.
    // Set it to empty array for single autocomplete
    this.actb_delimiter = new Array(' ',',');
    // Show widget only after this number of characters is typed in.
    this.actb_startcheck = 1;

    this.actb_bgColor = '#dbe3ec';
    this.actb_textColor = '#00256a';
    this.actb_hColor = '#dbe3ec';
    this.actb_fFamily = 'arial';
    this.actb_fSize = '16px';   
    this.actb_hStyle = 'text-decoration:underline;font-weight="bold";text-align="left"';
    function FillValues()
    {
        document.getElementById('getStationCode').value = document.getElementById('getStationDesc').value.substring(0,3);               
    }
</script>

1 个答案:

答案 0 :(得分:1)

您可以在Phonegap中手动清除缓存。我曾经在应用程序加载之前每次都删除应用程序的缓存。试试这段代码,

super.clearCache();
super.loadUrl("file:///android_asset/www/index.html");

如果需要,您也可以在应用程序结束时使用。

更新:另一种解决方案,

在你的actb()函数之后,调用页面create,

$("#index").trigger("pagecreate");
/*#index is the id of the page*/