我曾使用Cordova 3.6.3版本来构建我的Android应用程序,并且我想在cordova webview中禁用URL的缓存,我正在使用默认的cordova项目并使用index.html文件。 我尝试了这个,但它崩溃了我的应用
public class MyClass extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mwebview=(WebView) findViewById(R.id.appView);
WebSettings ws=mwebview.getSettings();
ws.setAppCacheEnabled(false);
ws.setCacheMode(WebSettings.LOAD_NO_CACHE);
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}
}
答案 0 :(得分:1)
Cordova(由于在webview上运行)尊重nocache标头,如果你能够在服务器中设置它,它应该给你相同的结果。此外,您可以通过到期等控制缓存本身的使用。
答案 1 :(得分:1)
<强>科尔多瓦-禁用-HTTP-缓存强>
Cordova插件可完全禁用HTTP请求和响应的缓存。
只需在Cordova CLI中输入以下命令:
cordova plugin add cordova-disable-http-cache
这将通过npm获取插件“cordova-disable-http-cache”并为android安装“cordova-disable-http-cache”。
它解决了我在应用程序中禁用缓存的问题。 我的cordova版本是6.5.0。
答案 2 :(得分:0)
我建议您使用以下插件:
https://github.com/moderna/cordova-plugin-cache
document.addEventListener('deviceready', onDeviceReady);
function onDeviceReady() {
var success = function(status) {
alert('Message: ' + status);
}
var error = function(status) {
alert('Error: ' + status);
}
window.cache.clear( success, error );
}
每次启动时,都会清除应用程序的缓存。
您可以在回调中评论提醒。
答案 3 :(得分:0)
hdezela's答案对我有用,因此我在下面提供了我的工作 PHP解决方案:
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
将此代码放在服务器端代码的顶部,关闭仿真器,然后使用 AVD Manager 从其