Android 4.4 (KitKat) и более новая страница загрузки Chromium с веб-загрузкой не завершены

Большинство страниц веб-сайта отлично работает на Android 4.4 (и новее) на основе Chromium. Но недавно я обнаружил, что страница веб-сайта ведет себя по-разному между 4.4 (или более новой) и более ранней системой Android.

Веб-просмотр на более ранней системе Android работает, как и ожидалось, но на 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() {
 @Override
 public void onPageStarted(WebView view, String url, Bitmap favicon) {
  Log.v("attlog", "onPageStarted: url="+url);
  super.onPageStarted(view, url, favicon);
 }

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

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 и более поздних версиях на основе Chromium выглядит следующим образом:

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

Цените.

1 ответ

Попробуйте установить WebChromeClient в вашем WebView, возможно, это проблема с Javascript. Как обсуждалось здесь, без установки WebChromeClient выполнение Javascript не разрешается: Включение общего JavaScript в WebViewClient

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

Это что-то меняет?

Другие вопросы по тегам