摘要:背景是微信將要從切換成,前端的頁面需要進行適配。以往在做滾動加載的組件時,微信內的翻頁的時候老是要等待下一頁加載,現在終于不用等了。當然也有坑,具體微信內要怎么兼容看文檔。微信在,已經開始灰度了,后續版本會全量。
WKWebView
背景是微信webview將要從UIWebView切換成WKWebView,前端的web頁面需要進行適配。
什么是WKWebView官方的解釋:WKWebView是一個顯示交互式Web內容的對象,例如瀏覽器內的應用程序。您可以使用WKWebView在您的應用程序中嵌入Web內容。為此,創建WKWebView對象,將其設置為視圖,并向其發送加載Web內容的請求。
為什么要用WKWebView首先來看下UIWebView的槽點,通常的iOS App用UIWebView加載網頁,這個自iOS2開始使用的網頁加載器一直是開發的心病:加載速度慢,占用內存多,優化困難。如果加載網頁多,還可能因為過量占用內存而給系統kill掉。
那wk有什么特點:
1、在性能、穩定性、內存占用有很大提升。有的文章說4倍的渲染性能,不知真假,從體驗上來看,非常流暢。
2、允許JavaScript的Nitro庫加載并使用(UIWebView中限制);
3、支持了更多的HTML5特性;
4、高達60fps的滾動刷新率以及內置手勢;滾動刷新頻率,從實際體驗看,確實流暢。
總得來說更快,更少,更完善,iOS 的最佳選擇。
Starting in iOS 8.0 and OS X 10.10, use WKWebView to add web content to your app. Do not use UIWebView or WebView。
iOS 8.0后的版本開始支持,目前已經都10.+了,可以大膽的用。
對H5頁面的影響1、點擊事件,300ms的延遲還存不存?
令人高興的是,300ms的這個問題在wkwebview得到了解決。前提是需要設置user-scalable=0 的頁面,WKWebView將會移除 300ms 的 click 事件延遲。
var t; document.getElementById("j_click").ontouchstart = function(){ t = +new Date(); }; document.getElementById("j_click").onclick = function(){ alert(+new Date() - t); }; // 如果UIWebview 或者沒有設置user-scalable的wk頁面,t 大概是400ms+ // WKWebView t可以到40ms左右
fastclick這類兼容庫以及用touch事件模擬的click,可以說再見了。
2、滑動頁面JS掛起的問題還有嗎?
答案是沒有了,即使滑動頁面,js照舊執行。所以節流函數還是很有必要,減少不必要的大量計算。
以往在做滾動加載的組件時,微信內的翻頁的時候老是要等待下一頁加載,現在終于不用等了。
目前就發現這兩點比較明顯的改善,如果后續發現了再補充。當然wkwebview也有坑,具體微信內要怎么兼容看文檔。
iOS微信在6.5.1,已經開始灰度了,后續版本會全量。兼容wkwebview需要關注的點請參考官方文檔。
參考
https://zhuanlan.zhihu.com/p/...
http://www.layabox.com/news/2...
http://nshipster.cn/wkwebkit/
本文地址:http://www.iamaddy.net/2017/0...,未經過允許,禁止一切形式的轉載
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81871.html
摘要:如果你對微應用感興趣,也在開發著微信小程序,不妨來看看為了讓你減少顧慮而準備的技術對比表格,是的,開發釘釘的微應用是如此的簡單。訪問這個鏈接閱讀釘釘微應用與微信小程序技術對比表格。與內存管理由于運行在中,此與有較大差異。 在自己的業務環境中使用,并開放給第三方isv,企業開發者使用,這是一篇有內涵有故事的文章。 如果你對weex微應用感興趣,也在開發著微信小程序,不妨來看看為了讓你減少...
閱讀 3428·2021-11-19 09:40
閱讀 1314·2021-10-11 11:07
閱讀 4844·2021-09-22 15:07
閱讀 2890·2021-09-02 15:15
閱讀 1964·2019-08-30 15:55
閱讀 539·2019-08-30 15:43
閱讀 883·2019-08-30 11:13
閱讀 1449·2019-08-29 15:36