为了简明扼要,我想知道android webview如何在封面下工作。我已经浏览了互联网,找不到讨论webview类的内部工作的文章或资源。它本质上是一个用于在浏览器中查看网页的模拟器,对吧?
这是否意味着它采用严格的客户端 - 服务器关系,即Android浏览器,还是比它更复杂?
是否有任何理由在Android浏览器中完美显示网页,但在Android应用中通过webview打开时会产生服务器端错误?也就是说,webview会导致服务器端代码错误吗?
谢谢。
答案 0 :(得分:2)
你的问题似乎是基于其他人已经解决的一些误解。
我会反而评论别人忽略的事情:
虽然默认的Android浏览器基于与webview相同的引擎,但它大大扩展到了不完全记录/非公开api的方式,将在事实表现不同。所以,是的,有很多原因可以在默认浏览器中使用某些功能,但不能在webview中使用。其中一些差异可以通过webview的配置选项轻松纠正,其他的将非常棘手,您可能需要查看替代浏览器的来源以找到可跨Android版本移植的解决方案(就像浏览器的方式一样)它与它所构建的特定版本相关联。
如果客户端行为的差异会导致服务器端出错,则取决于服务器对客户端做出的假设,以及它对意外客户端行为的强大程度。
答案 1 :(得分:1)
考虑webview的最佳方式是它是没有地址栏的本机Web浏览器。它将呈现HTML,CSS,javascript等,与普通浏览器完全相同。
我看不出为什么google会创建原生浏览器然后忽略该代码而不将其扩展为其SDK中的webview的原因?
答案 2 :(得分:1)
它本质上是一个用于在浏览器中查看网页的模拟器,对吗?
仅限于任何Web浏览器“是用于在浏览器中查看网页的模拟器”。 WebView
是WebKit Web资产检索和呈现引擎,位于Safari,Chrome等的核心。
这是否意味着它采用严格的客户端 - 服务器关系,即Android浏览器
AOSP Android浏览器以及除Opera和Mozilla以外的大多数Android浏览器使用 WebView
。因此,您在服务器端使用WebView
时看到的行为通常与WebView
的其他用户无法区分。
也就是说,webview会导致服务器端代码错误吗?
不会超过任何其他浏览器。