Android WebView VS手机浏览器

Ovi*_*tcu 34 android android-webview android-browser

我已经经历了怪异的行为的大量使用WebViewAndroid,我不知道为什么有之间那么多diffrences WebViewBrowser安装在每台手机上?

举个例子,我已经开发了一些应用程序,必须要显示HTML的内容,这无论是包含jquery-mobile,flash,javascript,YouTube嵌入式等.所以我在里面显示这些页面时遇到了很多问题WebViews.它们根本不会显示,只是空白,视频无法播放等等.奇怪的是,如果在Browser手机上安装打开它们,它们可以正常工作.我启用了JavaScript,我尝试了不同WebSettings,我已经设置WebChromeClientWebViewClient寻找javascript错误......但没有任何效果.

所以我得出结论,该WebView组件Browser与手机上安装的应用程序完全不同.我想每个制造商都会自己Browser支持尽可能多的页面,而WebView剩下的就是标准的,包括在内Android SDK.

我对吗?或者还有其他原因/解释?谢谢.

编辑: @ondoteam建议的所有内容都已启用并暂时设置.我不再有那些网站的引用,无论如何都是内部的.

Try*_*ain 13

本文概述了您对制造商之间库存浏览器差异的猜测,这绝对是正确的:在开发Android webkit之前,每个团队需要进行5次现实检查

......确实会导致麻烦和神秘/难以诊断/解决问题.

至于您的WebView实施问题:

版本jquery-mobile可能是一个问题jquery-mobile加载到android WebView如果你正在使用jquery.mobile-1.0.1.min.js你可能想尝试未压缩 jquery.mobile-1.0.1.js

和Flash: - /祝你好运: 使用带flash的webview时屏幕闪烁

WebView中的Flash无法在Android 3.2上运行

Flash视频无法在WebView for Android 3.0.1中显示

加载SWF:

将SWF加载到WebView中

在android中加载flash文件(.swf)webview

好运,看起来像设备,Android版本等很多变量.并将采取持续审判/错误.


小智 8

WebView默认情况下受限制.你应该打电话给setWebChromeClient和家人,以获得不错的浏览体验.另外,别忘了setJavaScriptEnabled()和其他类似的东西.对不起,我的简洁......我认为你不需要例子.

http://developer.android.com/reference/android/webkit/WebView.html


Vat*_*sai 8

股票浏览器和WebView不同.使用所有的调整

            WebView browser;

            browser.clearFormData();
    browser.clearHistory();
    browser.clearCache(true);

    browser.getSettings().setAppCacheEnabled(true);
    browser.getSettings().setDatabaseEnabled(true);
    browser.getSettings().setDomStorageEnabled(true);
    browser.setWebChromeClient(new WebChromeClient());
Run Code Online (Sandbox Code Playgroud)

仍然它没有正确加载高分辨率图像,这是由Android浏览器正确加载.只有部分图像可以在webview屏幕上看到,它完全出现在普通的Android浏览器上.最新的Android 4X SDK也会出现此行为.这意味着android默认浏览器会显着调整webkit/webview代码以显示任何url