Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android/WebView没有';导航到时无法加载javascript库图像_Javascript_Android_Webview_Jquery Mobile - Fatal编程技术网

Android/WebView没有';导航到时无法加载javascript库图像

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

我有一个用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));
可能不是最好的方法;但我认为它是有效的…;)

编辑:有关其他详细信息,您可以看到: