无法在Android WebView中加载相对路径URL

无法在Android WebView中加载相对路径URL,android,webview,header,android-webview,relative-path,Android,Webview,Header,Android Webview,Relative Path,我有一个远程URL,我想在我的web视图中加载它。此页由标题保护。页面正在加载,但它没有加载我试图加载的HTML中的相对URL 相同的URL在web上运行良好,但无法在此处加载。主要问题是没有加载java脚本文件 这是我的密码: WebSettings webViewSettings = webView.getSettings(); webViewSettings.setJavaScriptEnabled(true); webViewSettings.setDomStor

我有一个远程URL,我想在我的web视图中加载它。此页由标题保护。页面正在加载,但它没有加载我试图加载的HTML中的相对URL

相同的URL在web上运行良好,但无法在此处加载。主要问题是没有加载java脚本文件

这是我的密码:

    WebSettings webViewSettings = webView.getSettings();
    webViewSettings.setJavaScriptEnabled(true);
    webViewSettings.setDomStorageEnabled(true);
    webViewSettings.setSupportZoom(true);
    webViewSettings.setBuiltInZoomControls(true);
    webViewSettings.setDisplayZoomControls(true);
    webViewSettings.setAllowFileAccess(true);
    webViewSettings.setLoadWithOverviewMode(true);
    webViewSettings.setUseWideViewPort(true);
    webViewSettings.setPluginState(WebSettings.PluginState.ON);


    webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            Toast.makeText(Report.this,"Finished loading",Toast.LENGTH_SHORT).show();
        }




        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, String url) {

            try {
                DefaultHttpClient client = new DefaultHttpClient();
                HttpGet httpGet = new HttpGet(flip_book);


                httpGet.setHeader("Cookie", "JSESSIONID=" + preferencesHelper.getPref("JSESSIONID") + "; X-CSRF-TOKEN=" + preferencesHelper.getPref(preferencesHelper.csrftoken));
                httpGet.setHeader("JSESSIONID", preferencesHelper.getPref("JSESSIONID"));
                httpGet.setHeader("X-CSRF-TOKEN", URLEncoder.encode(preferencesHelper.getPref(preferencesHelper.csrftoken), "UTF-8"));

                HttpResponse httpReponse = client.execute(httpGet);
                InputStream responseInputStream = httpReponse.getEntity().getContent();

                return new WebResourceResponse("text/html", "charset=UTF-8", responseInputStream);

                //text/html

            } catch (ClientProtocolException e) {
                //return null to tell WebView we failed to fetch it WebView should try again.
                return null;
            } catch (IOException e) {
                //return null to tell WebView we failed to fetch it WebView should try again.
                return null;
            }
        }


    });

    webView.loadData("<iframe src=\"" +
                    "" +
                    flip_book +
                    "\"></iframe>", "text/html",
            "utf-8");
WebSettings-webViewSettings=webView.getSettings();
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setDomStorageEnabled(true);
webViewSettings.setSupportZoom(真);
webViewSettings.SetBuilTinZoomControl(true);
webViewSettings.SetDisplayZoomControl(真);
webViewSettings.setAllowFileAccess(true);
webViewSettings.SetLoadWithOverview模式(true);
webViewSettings.setUseWideViewPort(true);
webViewSettings.setPluginState(WebSettings.PluginState.ON);
setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
super.onPageFinished(视图、url);
Toast.makeText(Report.this,“已完成加载”,Toast.LENGTH_SHORT.show();
}
@凌驾
公共WebResourceResponse应InterceptRequest(WebView视图,字符串url){
试一试{
DefaultHttpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(翻页书);
httpGet.setHeader(“Cookie”、“JSSessionId=“+preferencesHelper.getPref(“JSSessionId”)+”;X-CSRF-TOKEN=“+preferencesHelper.getPref(preferencesHelper.csrftoken));
httpGet.setHeader(“JSSessionId”,preferencesHelper.getPref(“JSSessionId”);
httpGet.setHeader(“X-CSRF-TOKEN”,URLEncoder.encode(preferencesHelper.getPref(preferencesHelper.csrftoken),“UTF-8”);
HttpResponse httpReponse=client.execute(httpGet);
InputStream响应InputStream=httpReponse.getEntity().getContent();
返回新的WebResourceResponse(“text/html”,“charset=UTF-8”,responseInputStream);
//文本/html
}捕获(客户端协议例外e){
//返回null以告诉WebView我们无法获取它WebView应重试。
返回null;
}捕获(IOE异常){
//返回null以告诉WebView我们无法获取它WebView应重试。
返回null;
}
}
});
webView.loadData(“,”text/html“,
“utf-8”);

请帮助。

请尝试使用以下代码,可能它应该可以工作:

WebSettings webViewSettings = webView.getSettings();
    webViewSettings.setJavaScriptEnabled(true);
    webViewSettings.setDomStorageEnabled(true);
    webViewSettings.setSupportZoom(true);
    webViewSettings.setBuiltInZoomControls(true);
    webViewSettings.setDisplayZoomControls(true);
    webViewSettings.setAllowFileAccess(true);
    webViewSettings.setLoadWithOverviewMode(true);
    webViewSettings.setUseWideViewPort(true);
    webViewSettings.setPluginState(WebSettings.PluginState.ON);


    webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            Toast.makeText(Report.this,"Finished loading",Toast.LENGTH_SHORT).show();
        }




        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, String url) {

            try {
                DefaultHttpClient client = new DefaultHttpClient();
                HttpGet httpGet = new HttpGet(flip_book);


                httpGet.setHeader("Cookie", "JSESSIONID=" + preferencesHelper.getPref("JSESSIONID") + "; X-CSRF-TOKEN=" + preferencesHelper.getPref(preferencesHelper.csrftoken));
                httpGet.setHeader("JSESSIONID", preferencesHelper.getPref("JSESSIONID"));
                httpGet.setHeader("X-CSRF-TOKEN", URLEncoder.encode(preferencesHelper.getPref(preferencesHelper.csrftoken), "UTF-8"));

                HttpResponse httpReponse = client.execute(httpGet);
                InputStream responseInputStream = httpReponse.getEntity().getContent();

                return new WebResourceResponse("text/html", "charset=UTF-8", responseInputStream);

                //text/html

            } catch (ClientProtocolException e) {
                //return null to tell WebView we failed to fetch it WebView should try again.
                return null;
            } catch (IOException e) {
                //return null to tell WebView we failed to fetch it WebView should try again.
                return null;
            }
        }


    });

    webView.loadDataWithBaseURL("<iframe src=\"" +
                    "" +
                    flip_book +
                    "\"></iframe>", "text/html",
            "utf-8",null);
WebSettings-webViewSettings=webView.getSettings();
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setDomStorageEnabled(true);
webViewSettings.setSupportZoom(真);
webViewSettings.SetBuilTinZoomControl(true);
webViewSettings.SetDisplayZoomControl(真);
webViewSettings.setAllowFileAccess(true);
webViewSettings.SetLoadWithOverview模式(true);
webViewSettings.setUseWideViewPort(true);
webViewSettings.setPluginState(WebSettings.PluginState.ON);
setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
super.onPageFinished(视图、url);
Toast.makeText(Report.this,“已完成加载”,Toast.LENGTH_SHORT.show();
}
@凌驾
公共WebResourceResponse应InterceptRequest(WebView视图,字符串url){
试一试{
DefaultHttpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(翻页书);
httpGet.setHeader(“Cookie”、“JSSessionId=“+preferencesHelper.getPref(“JSSessionId”)+”;X-CSRF-TOKEN=“+preferencesHelper.getPref(preferencesHelper.csrftoken));
httpGet.setHeader(“JSSessionId”,preferencesHelper.getPref(“JSSessionId”);
httpGet.setHeader(“X-CSRF-TOKEN”,URLEncoder.encode(preferencesHelper.getPref(preferencesHelper.csrftoken),“UTF-8”);
HttpResponse httpReponse=client.execute(httpGet);
InputStream响应InputStream=httpReponse.getEntity().getContent();
返回新的WebResourceResponse(“text/html”,“charset=UTF-8”,responseInputStream);
//文本/html
}捕获(客户端协议例外e){
//返回null以告诉WebView我们无法获取它WebView应重试。
返回null;
}捕获(IOE异常){
//返回null以告诉WebView我们无法获取它WebView应重试。
返回null;
}
}
});
webView.loadDataWithBaseURL(“,”text/html“,
“utf-8”,空);

请尝试以下代码,可能它应该可以工作:

WebSettings webViewSettings = webView.getSettings();
    webViewSettings.setJavaScriptEnabled(true);
    webViewSettings.setDomStorageEnabled(true);
    webViewSettings.setSupportZoom(true);
    webViewSettings.setBuiltInZoomControls(true);
    webViewSettings.setDisplayZoomControls(true);
    webViewSettings.setAllowFileAccess(true);
    webViewSettings.setLoadWithOverviewMode(true);
    webViewSettings.setUseWideViewPort(true);
    webViewSettings.setPluginState(WebSettings.PluginState.ON);


    webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            Toast.makeText(Report.this,"Finished loading",Toast.LENGTH_SHORT).show();
        }




        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, String url) {

            try {
                DefaultHttpClient client = new DefaultHttpClient();
                HttpGet httpGet = new HttpGet(flip_book);


                httpGet.setHeader("Cookie", "JSESSIONID=" + preferencesHelper.getPref("JSESSIONID") + "; X-CSRF-TOKEN=" + preferencesHelper.getPref(preferencesHelper.csrftoken));
                httpGet.setHeader("JSESSIONID", preferencesHelper.getPref("JSESSIONID"));
                httpGet.setHeader("X-CSRF-TOKEN", URLEncoder.encode(preferencesHelper.getPref(preferencesHelper.csrftoken), "UTF-8"));

                HttpResponse httpReponse = client.execute(httpGet);
                InputStream responseInputStream = httpReponse.getEntity().getContent();

                return new WebResourceResponse("text/html", "charset=UTF-8", responseInputStream);

                //text/html

            } catch (ClientProtocolException e) {
                //return null to tell WebView we failed to fetch it WebView should try again.
                return null;
            } catch (IOException e) {
                //return null to tell WebView we failed to fetch it WebView should try again.
                return null;
            }
        }


    });

    webView.loadDataWithBaseURL("<iframe src=\"" +
                    "" +
                    flip_book +
                    "\"></iframe>", "text/html",
            "utf-8",null);
WebSettings-webViewSettings=webView.getSettings();
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setDomStorageEnabled(true);
webViewSettings.setSupportZoom(真);
webViewSettings.SetBuilTinZoomControl(true);
webViewSettings.SetDisplayZoomControl(真);
webViewSettings.setAllowFileAccess(true);
webViewSettings.SetLoadWithOverview模式(true);
webViewSettings.setUseWideViewPort(true);
webViewSettings.setPluginState(WebSettings.PluginState.ON);
setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
super.onPageFinished(视图、url);
Toast.makeText(Report.this,“已完成加载”,Toast.LENGTH_SHORT.show();
}
@凌驾
公共WebResourceResponse应InterceptRequest(WebView视图,字符串url){
试一试{
DefaultHttpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(翻页书);
httpGet.setHeader(“Cookie”,“JSESSIONID=“+preferencesHelper.getPref(“JSESSIONID”)+”;