我有一个用 jquery mobile 构建的网站/web 应用程序,我正试图将其打包到 android 的 webview 中;我可以通过将整个站点放入 Assets 文件夹并像这样加载 url 来在本地加载页面:
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));
可能不是最好的方法;但我认为它有效...;)
编辑:有关其他详细信息,您可以查看:http://developer.android.com/reference/android/webkit/WebViewClient.html
关于javascript - 导航到时,Android/WebView 不会加载 javascript 库图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7660744/