WKWebView iOS内嵌浏览器组件
iOS 的内嵌浏览器,主要是靠 UIWebView 和 WKWebView 这两个老伙计撑场子。UIWebView 比较早,写起来简单,加载网页就是webView.load(request)
这么一句事儿。不过嘛,响应慢点,功能也老了点。现在用得多的是WKWebView,性能提升挺大,支持新标准,JS 交互效率也高。
WKWebView 的WKNavigationDelegate
挺实用,像监听页面加载状态就靠它了。还能自定义配置、拦截求、注入 JS,玩得溜的话,可以实现不少骚操作。如果你对安全性有要求,WKWebView 也更靠谱点,防 XSS、注入什么的做得还不错。
UIWebView 还没完全退役哈,老项目、老系统还得用。一般判断一下系统版本,低于 iOS 8 就继续用 UIWebView,高于就直接上 WKWebView。两套逻辑写好切换下,体验也能兼顾。
需要注意的是,WKWebView 初始化方式跟 UIWebView 不太一样,要用WKWebViewConfiguration
去搞。你可以这么写:
let config = WKWebViewConfiguration()
let webView = WKWebView(frame: .zero, configuration: config)
页面加载嘛,老样子:
let url = URL(string: "https://www.baidu.com")!
let request = URLRequest(url: url)
webView.load(request)
如果你想看更例子,可以去看看UIWebView 控件的简易浏览器小案例,入门挺快的。
啊,写内嵌浏览器不用太纠结,UIWebView 用来兜底,WKWebView 拿来发力就行。如果你要做点复杂点的页面交互,直接上 WKWebView,省事还舒服。
24.41KB
文件大小:
评论区