我设计的应用程序可以在线和离线显示商业数据。 webview设置为
if (!isConnected(getApplicationContext()) ) {
myWebView.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK );
myWebView.loadUrl("file:///android_asset/businesstable.html");
...}
else{myWebView.loadUrl("file:///android_asset/businesstable.html");}
显然,您会看到当设备离线时,webview将加载缓存页面。 businesstable.html使用getJSON获取数据:
var gclaData = 'http://mysitehosted.com/jsonbusiness.php';
var jqxhr = $.getJSON(gclaData,function(data){
console.log( "success" );
tabladata = '<table border="0" style="width:100%">';
$.each(data.cols, function(j,cols ){
tabladata += '<tr><td>Business Name:</td><td>'+ cols.nombre +'</td></tr>';
tabladata += '<tr><td>Address:</td><td>'+ cols.direccion +'</td></tr>';
tabladata += '<tr><td><hr></td><td><hr></td></tr>';
});
tabladata += '</table>';
$('#mytable').html(tabladata);
})
.always(function() {
console.log( "complete" );
$('#iscomplete').html("operation finished");
});
我在我的计算机上用chrome测试了businesstable.html并且工作正常。当我在Android真实设备中尝试此操作时,该页面仅在脱机时显示。我正在使用jquery 1.11.1。我究竟做错了什么?我非常困惑。