2017-08-17 106 views
0

我试图更加聪明,通过AsyncTask使用HttpUrlConnection将网页加载到WebView中。 以前我用WebView的.loadurl()WebView,无法正确加载html

我已经测试http://www.google.co.uk,这似乎工作正常。 我从日志中得到以下输出,不幸的是我无法确定加载此特殊页面时的实际问题。

我不能想象的是为什么它谈论音频/视频编解码器是或不支持。网页没有任何与这些todo。

当加载HTML到web视图,我使用:

view.loadData(result, "text/html; charset=UTF-8", null);

对不起,这种生硬的问题。

08-17 15:59:00.610 26720-26720/com.admin.phonedivert D/INFO: <html>..... 
08-17 15:59:00.616 26720-26720/com.admin.phonedivert I/cr_Ime: ImeThread is enabled. 
08-17 15:59:00.652 26720-26920/com.admin.phonedivert E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY) 
08-17 15:59:00.664 26720-26920/com.admin.phonedivert W/AudioCapabilities: Unsupported mime audio/evrc 
08-17 15:59:00.665 26720-26920/com.admin.phonedivert W/AudioCapabilities: Unsupported mime audio/qcelp 
08-17 15:59:00.668 26720-26920/com.admin.phonedivert W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc 
08-17 15:59:00.674 26720-26920/com.admin.phonedivert W/Utils: could not parse long range '175-174' 
08-17 15:59:00.675 26720-26920/com.admin.phonedivert W/AudioCapabilities: Unsupported mime audio/dsd 
08-17 15:59:00.675 26720-26920/com.admin.phonedivert W/AudioCapabilities: Unsupported mime audio/alac 
08-17 15:59:00.676 26720-26920/com.admin.phonedivert W/AudioCapabilities: Unsupported mime audio/qcelp 
08-17 15:59:00.676 26720-26920/com.admin.phonedivert W/AudioCapabilities: Unsupported mime audio/evrc 
08-17 15:59:00.686 26720-26920/com.admin.phonedivert W/VideoCapabilities: Unsupported mime video/divx 
08-17 15:59:00.688 26720-26920/com.admin.phonedivert W/VideoCapabilities: Unsupported mime video/divx311 
08-17 15:59:00.690 26720-26920/com.admin.phonedivert W/VideoCapabilities: Unsupported mime video/divx4 
08-17 15:59:00.701 26720-26920/com.admin.phonedivert W/VideoCapabilities: Unsupported mime video/mp4v-esdp 
08-17 15:59:00.720 26720-26920/com.admin.phonedivert I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es 
08-17 15:59:00.758 26720-26720/com.admin.phonedivert W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 26720 
08-17 15:59:00.771 26720-26720/com.admin.phonedivert I/chromium: [INFO:CONSOLE(1)] "Uncaught ReferenceError: content_change is not defined", source: data:text/html; charset=UTF-8,<html>.... 
08-17 15:59:00.801 26720-26720/com.admin.phonedivert I/chromium: [INFO:CONSOLE(1)] "Uncaught ReferenceError: $ is not defined", source: data:text/html; charset=UTF-8,<!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Mobile App</title><link href="assets/css/bootstrap.min.css" rel="stylesheet"><link href="assets/css/style.css" rel="stylesheet"><link href="/css/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"><style type='text/css'>.button-back {  position: absolute;  z-index: 100;font-size: 49px;width: 45px;color: gray;margin-top: 2px;}.logo{ margin-left: 1px !important; }.mobile-menu {  display:none;  height:30px;  position: relative;  top: -40px;  right: -10px;}.mobile-menu div{  float:left;  width:120px;  height:40px;  background:white;} (1) 
08-17 15:59:00.802 26720-26720/com.admin.phonedivert E/chromium: [ERROR:interface_registry.cc(99)] Failed to locate a binder for interface: autofill::mojom::AutofillDriver 
08-17 15:59:02.262 26720-26720/com.admin.phonedivert I/Timeline: Timeline: Activity_idle id: [email protected] time:33593818 

回答

0

这个问题是由于网页中的HTML不足造成的。 包括<!DOCTYPE HTML>得到了解决。 Logcat错误仍然未知相关

导致此问题的另一个问题是使用相对路径为样式& JavaScript资源。我有一个webview指向的iframe。因为我直接将HTML加载到视图中,所以视图不知道在哪里查找资源。我会虽然使用loadDataWithBaseUrl()将解决这个问题。但是,这并没有。

作为修复,我不得不将所有相对路径更改为我的HTML页面上的静态。

0

请尝试使用本。

webView.loadDataWithBaseURL("",result,"text/html", "UTF-8","");