Android WebView VS手机浏览器

我在Android使用WebView经历了很多奇怪的行为,我想知道为什么每个手机上安装的WebViewBrowser之间有太多的区别?

作为一个例子,我开发了一些应用程序,不得不显示HTML内容,其中包含jquery-mobileflashjavascript ,embedded式的YouTube等。 所以我在WebViews显示这些页面时遇到了很多问题。 要么他们根本不显示,只是空白,要么不播放video等等。 奇怪的是,如果在手机上安装的Browser打开,它们可以正常工作。 我启用了JavaScript,我尝试了不同的WebSettings ,我已经设置WebChromeClientWebViewClient寻找JavaScript错误…但没有任何工作。

所以我得出结论, WebView组件完全不同于安装在手机上的Browser应用程序。 我认为每个制造商都使自己的Browser支持尽可能多的页面, WebView仍然是Android SDK包含的标准页面。

我对吗? 或者还有另一个原因/解释呢? 谢谢。

编辑: @ondoteambuild议的所有东西都被启用,并在当时设置。 我不再提及这个网站,而这个网站是内部的。

Solutions Collecting From Web of "Android WebView VS手机浏览器"

本文概述了关于制造商之间的股票浏览器差异的猜测,这绝对是事实: 在使用Android webkit之前,每个团队需要5个现实检查

…这确实造成麻烦和神秘/难以诊断/解决问题。

至于你的WebView实现的问题:

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

和Flash: – /祝你好运: 闪光灯使用webview时,屏幕闪烁

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

Flashvideo在Android 3.0.1的WebView中不显示

加载SWF:

将SWF加载到WebView中

在Android中加载Flash文件(.swf)webview

祝你好运,似乎与设备,Android版本等很多变数,并将持续与试用/错误。

WebView默认是受限制的。 你应该打电话给setWebChromeClient和家庭有一个体面的浏览体验。 另外,别忘记setJavaScriptEnabled()和其他类似的东西。 对不起,我的简洁…我认为你不需要例子。

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

股票浏览器和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()); 

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

你有检查这个问题: jquery-mobile加载到一个android webview

这可能是你正在使用错误的库。 只要检查在任何情况下。