无法在Android WebView中加载相对路径URL
我有一个远程URL,我想在我的web视图中加载它。此页由标题保护。页面正在加载,但它没有加载我试图加载的HTML中的相对URL 相同的URL在web上运行良好,但无法在此处加载。主要问题是没有加载java脚本文件 这是我的密码:无法在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
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”)+”;