【发布时间】:2010-08-16 19:18:29
【问题描述】:
查看了很多信息,但没有找到明确的列表。请添加您的意见。我相信它会派上用场。
【问题讨论】:
-
刚被这个坑了 :: stackoverflow.com/questions/3701598/…
标签: iphone mobile safari uiwebview
查看了很多信息,但没有找到明确的列表。请添加您的意见。我相信它会派上用场。
【问题讨论】:
标签: iphone mobile safari uiwebview
它没有 Nitro Javascript 引擎。与 Safari 相比,这使得在 UIWebView 中执行 Javascript 的速度要慢得多。
http://www.tuaw.com/2011/03/18/apple-confirms-some-webkit-optimizations-unavailable-to-ios-apps/
http://ariya.ofilabs.com/2012/06/nitro-javascriptcore-and-jit.html
【讨论】:
我发现,让我暂时感到悲伤的是,UIWebView 在通过 JS 设置样式值时更加严格。所以说在移动Safari中
element.style.width = 300;
可以正常工作,但在UIWebView 中,您必须将值设置为
element.style.width = 300 + "px";
我正在慢慢发现其他差异。我会照常更新。
【讨论】:
当 UIWebView 滚动其内容时,它会冻结所有 JavaScript 事件,直到滚动结束。所以你绝对不能像这种常见的方式以编程方式观察和/或控制滚动过程:
window.onscroll = function() {
var scrolled = window.pageYOffset || document.documentElement.scrollTop;
// do something
}
因为变量 'scrolled' 只会更新一次 - 在滚动完全完成之后。
【讨论】:
您可以将 Mobile Safari 中 HTML5 SQL 的初始最大大小设置为 50MB,但 UIWebView 似乎限制为 5MB。它拒绝任何更高的东西。
【讨论】:
我遇到的两个明显的问题是身份验证和带框架的页面。
对于身份验证,UIWebView 不会自动处理身份验证挑战,由开发人员来处理。
对于带有框架集的页面,UIWebView 不会跟踪框架内页面过渡的浏览历史记录,这可能是一个理想的功能。它需要一些摆弄才能完成。
【讨论】:
就性能而言,这是您可能会找到的最佳摘要:http://www.guypo.com/mobile/ios-browsers-speed-bakeoff/
【讨论】:
主要区别在于页面顶部的地址/搜索栏和用户代理。
(注意:还有很多其他的,但这些是通常重要的少数)
【讨论】: