Android WebView不能加载ajax?加载ajax无效?
!苹果或高版本的安卓webview可能会有跨域被拦截的问题,需要在服务端允许跨域。 另外高版本的webview注意使用HTTPS协议的请求,普通http将会被拦截 php示例代码:
代码语言:javascript复制header('content-type:application:json;charset=utf8');
header('Access-Control-Allow-Origin:*'); // 被允许的访问来源
header('Access-Control-Allow-Methods:POST');
header('Access-Control-Allow-Headers:x-requested-with,content-type');
1、WebView的支持js是否打开; webSettings.setJavaScriptEnabled(true);
2、webView拓展的api是否打开: webSettings.setDomStorageEnabled(true);
3、在高版本的时候我们是需要使用允许访问文件的urls: webView.getSettings().setAllowFileAccessFromFileURLs(true);
4、我们在加载页面的时候,如果使用的是WebView.loadDataWithBaseUrl(baseUrl,str,mime,scode,historyUrl)这个加载数据的时候;
这里我们是需要查看一下前端的ajax请求数据的时候,是否使用的是相对路径(这里非常重要),如果是的话,我们的baseUrl,我们是需要写上我们的主机名的,否则ajax是不会执行的;
5、如果上面的方法还是不行的话,我们可以将webView的缓存给禁用,再来试一下; (不推荐) webView.setCacheEnable(false);
6 ? 模拟标签点击的效果(亲测无效)
参考链接:
Android WebView不能加载ajax?加载ajax无效?