Android/WebView没有';导航到时无法加载javascript库图像
我有一个用jquery mobile构建的网站/web应用程序,我正试图将其打包到android的webview中;我可以通过将整个站点放入assets文件夹并加载url,在本地加载页面,如下所示:Android/WebView没有';导航到时无法加载javascript库图像,javascript,android,webview,jquery-mobile,Javascript,Android,Webview,Jquery Mobile,我有一个用jquery mobile构建的网站/web应用程序,我正试图将其打包到android的webview中;我可以通过将整个站点放入assets文件夹并加载url,在本地加载页面,如下所示: mWebView.loadUrl("file:///android_asset/www/btec/index.html"); 其中一个页面是使用javascript自动翻转的图像库/幻灯片。但是,如果我从index.html导航到我的图库,图像不会加载。如果我直接加载它(即使用以下命令直接加载到w
mWebView.loadUrl("file:///android_asset/www/btec/index.html");
其中一个页面是使用javascript自动翻转的图像库/幻灯片。但是,如果我从index.html导航到我的图库,图像不会加载。如果我直接加载它(即使用以下命令直接加载到webview中):
mWebView.loadUrl("file:///android_asset/www/btec/gallery.html");
图像显示并滚动没有问题!我不确定为什么会发生这种情况。是否需要启用/禁用设置?我已经启用了以下设置:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setLoadsImagesAutomatically(true);
mWebView.getSettings().setPluginsEnabled(true);
这是一个可能解决你问题的技巧 1) 创建WebViewClient类,重写shouldOverrideUrlLoading方法:
private class MyClient extends WebViewClient {
private WebView mwv;
public MyClient(WebView v) {
mwv = v;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.equals("file:///android_asset/www/btec/gallery.html")) {
mwv.loadUrl(url);
return true;
}
return false;
}
}
2) 将此客户端与您的webview关联:
mWebView.setWebViewClient(new MyClient(mWebView));
可能不是最好的方法;但我认为它是有效的…;)
编辑:有关其他详细信息,您可以看到: