2017-04-09 108 views
0

大多数网站页面在Android 4.4(和更新版本)基于Chromium的webview上都能正常工作。但最近我发现了一个网站页面的行为4.4(或更新版本)和更早版本Android系统之间的不同。Android 4.4(KitKat)和更新的Chromium webview加载页面不完整

早期的Android系统上的webview按预期工作,但在KitKat上没有。我相信一定有页面里面的一些技巧。但两周后,我仍然停留在这个问题.. :(

你可以帮 非常感谢您

这里是代码:?

WebView WV_test = (WebView) findViewById(R.id.WV_query); 
 
WV_test.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
 
WV_test.getSettings().setDomStorageEnabled(true); 
 
WV_test.getSettings().setJavaScriptEnabled(true); 
 
WV_test.setWebViewClient(new WebViewClient() { 
 
\t @Override 
 
\t public void onPageStarted(WebView view, String url, Bitmap favicon) { 
 
\t \t Log.v("attlog", "onPageStarted: url="+url); 
 
\t \t super.onPageStarted(view, url, favicon); 
 
\t } 
 

 
\t @Override 
 
\t public void onPageFinished(WebView view, String url) { 
 
\t \t Log.v("attlog", "onPageFinished: url="+url); 
 
\t \t super.onPageFinished(view, url); 
 
\t } 
 
\t @Override 
 
\t public void onLoadResource(WebView view, String url) { 
 
\t \t Log.v("attlog", "onLoadResource() url="+url); 
 
\t \t super.onLoadResource(view, url); 
 
\t } 
 
}); 
 

 
String url="http://railway.hinet.net/ccancel_rt.jsp"; 
 
Log.v("attlog", "url="+url); 
 
WV_test.loadUrl(url);

结果在早期的WebKit(即4.1),按预期工作:

url=http://railway.hinet.net/ccancel_rt.jsp 
 
onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp 
 
onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp 
 
onLoadResource() url=http://railway.hinet.net/4QbVtADbnLVIc/c.FxJzG50F.js?D9PVtGL=a5c631 
 
onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp 
 
onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgT_Gvfun_k1ojGcgiy4_vWPRY 
 
onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgT_Gvfun_k1ojGcgiy4_vWPRY 
 
onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgT_Gvfun_k1ojGcgiy4_vWPRY 
 
onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgTTsO9yRbWE8r.3PN0Bo5YqTE 
 
onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgTTsO9yRbWE8r.3PN0Bo5YqTE 
 
onLoadResource() url=http://railway.hinet.net/CssStyle/master.css 
 
onLoadResource() url=http://railway.hinet.net/4QbVtADbnLVIc/d.FxJzG50F.js?D9PVtGL=a5c631 
 
onLoadResource() url=http://railway.hinet.net/Images/title_08.jpg 
 
onLoadResource() url=http://railway.hinet.net/Images/title_bg.jpg 
 
onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp?y7bRbP=VGpKrPbgTTsO9yRbWE8r.3PN0Bo5YqTE 
 
onLoadResource() url=http://railway.hinet.net/4QbVtADbnLVIc/jW39ezbWPr.js?65MRT9vNU1rhU6TUrOf4kG=z_qkPe3KO5xVeYHXURGyC2YnDCN9LkApa6fFzTFwRKxB8rgzZVI1f9oOmXb5gCrR4wmBCuVwxLbgQMAgUDev1iZgpQCdspYd

但在4.4及更高版本基于WebKit的铬的结果是这样的:

V/attlog: url=http://railway.hinet.net/ccancel_rt.jsp 
 
W/EGL_genymotion: eglSurfaceAttrib not implemented 
 
E/OpenGLRenderer: Getting MAX_TEXTURE_SIZE from GradienCache 
 
E/OpenGLRenderer: MAX_TEXTURE_SIZE: 16384 
 
E/OpenGLRenderer: Getting MAX_TEXTURE_SIZE from Caches::initConstraints() 
 
E/OpenGLRenderer: MAX_TEXTURE_SIZE: 16384 
 
D/OpenGLRenderer: Enabling debug mode 0 
 
W/AwContents: nativeOnDraw failed; clearing to background color. 
 
W/AwContents: nativeOnDraw failed; clearing to background color. 
 
I/chromium: [INFO:simple_index_file.cc(437)] Simple Cache Index is being restored from disk. 
 
V/attlog: onPageStarted: url=http://railway.hinet.net/ccancel_rt.jsp 
 
V/attlog: onLoadResource() url=http://railway.hinet.net/ccancel_rt.jsp 
 
V/attlog: onPageFinished: url=http://railway.hinet.net/ccancel_rt.jsp 
 
V/attlog: onLoadResource() url=http://railway.hinet.net/favicon.ico 
 
I/chromium: [INFO:async_pixel_transfer_manager_android.cc(60)] Async pixel transfers not supported 
 
E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1082)] [GroupMarkerNotSet(crbug.com/242999)!:884AB3B7]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command 
 
I/chromium: [INFO:async_pixel_transfer_manager_android.cc(60)] Async pixel transfers not supported 
 
E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1082)] [GroupMarkerNotSet(crbug.com/242999)!:4872B4B7]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command

欣赏。

+0

HELP!这个问题仍然悬而未决.. – agudoe2

回答

0

尝试在您的WebView上设置WebChromeClient,也许这是一个Javascript问题。 如这里所讨论的,不设定WebChromeClient使用JavaScript没有启用: Enabling general JavaScript in WebViewClient

WV_test.setWebChromeClient(new WebChromeClient()); 
WV_test.loadUrl(...); 

这是否改变什么?

+0

谢谢阿克塞尔。我尝试过但没有改变。 – agudoe2

相关问题