Android WebView VS 手机浏览器

问题描述 投票:35回答:4

我在使用过程中经历了很多奇怪的行为。WebViewAndroid 我想知道为什么有这么多的差异之间的。WebViewBrowser安装在每个手机上?

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

所以我的结论是 WebView 组成部分完全不同于 Browser 手机上安装的应用程序。我在想,每个厂家都会自己制作 Browser 以支持尽可能多的页面,而 WebView 依然是标准的,列入了 Android SDK.

我说的对吗?还是有其他原因sexplanation呢,谢谢。

EDIT: @ondoteam所建议的一切都已启用,并在当时进行了设置。我不再有引用的网站,这反正是内部的。

android android-webview android-browser
4个回答
15
投票

这篇文章概述了你对厂商之间股票浏览器差异的猜测,那绝对是真的。每一个团队在使用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时屏幕闪烁

在Android 3.2上,WebView中的Flash无法工作。

在Android 3.0.1的WebView中不显示Flash视频。

用于加载SWF。

加载SWF到WebView中

在安卓系统中加载flash文件(.swf)webview。

祝你好运,看来设备、安卓版本等变数很大。而且会用trialerror来持久。


8
投票

WebView 默认情况下是受限的。你应该调用 setWebChromeClient 和家人有一个不错的浏览体验。此外,别忘了 setJavaScriptEnabled() 和其他类似的东西。对不起,我的简洁... 我认为你不需要例子。

http:/developer.android.comreferenceandroidwebkitWebView.html)。


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());

在最新的Android 4X SDK中也观察到这种行为,这意味着Android默认浏览器对webkitwebview代码进行了重大调整,以显示任何网址。


1
投票

你有没有检查这个问题。jquery-mobile加载到android WebView中

可能是你用错了库。无论如何都要检查一下。

© www.soinside.com 2019 - 2024. All rights reserved.