iOS UIWebView与WKWebView 那些事

这篇具有很好参考价值的文章主要介绍了iOS UIWebView与WKWebView 那些事。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言介绍

UIWebViewiOS 2 中推出的网页容器,UIWebView是最占内存的控件;直到 iOS 8 以后,苹果推出了 WebKit 框架,其中 WKWebView 正式被推出来接替 UIWebView 的位置;iOS 12 中,苹果正式弃用 UIWebView,要求开发者用 WKWebView 全面替换 UIWebView,apple 官方文档

二、特点对比

UIWebView 特点:

  • 1、加载速度慢
  • 2、内存占用大,App停留在后台很容易被系统杀死
  • 3、原生容器完全不带进度条,需要自定义开发

WKWebView 特点:

  • 1、在性能、稳定性、功能方面有很大提升(最直观的提升就是加载网页是占用的内存很少,测试加载不同网页其内存性能提升3倍到4倍,而且没有缓存)
  • 2、允许JavaScript的Nitro库加载并使用(UIWebView中限制)
  • 3、支持更多的 HTML5 特性
  • 4、与 Safari 具有相同的 JavaScript 引擎

三、能力提供

a、加载能力
  • UIWebView不仅可以加载 HTML 页面,还支持 pdf、word、txt 以及各种图片的显示;
  • 相比 UIWebView 而言,WKWebView 也支持各种文件格式,并新增了加载本地文件,即新增了 LoadFileURL 函数。

1.1 UIWebView加载网页请求

- (void)loadRequest:(NSURLRequest *)request;

1.2 WKWebView加载网页请求

- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;

2.1 UIWebView加载HTML

- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;

2.2 WKWebView加载HTML

- (nullable WKNavigation *)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;

3.1 UIWebView加载文件,并指定 MIME 类型和编码类型

- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;

3.2 WKWebView加载文件,并指定 MIME 类型和编码类型

- (nullable WKNavigation *)loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL;

4 WKWebView加载本地文件,UIWebView做不到文章来源地址https://www.toymoban.com/news/detail-776881.html

- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL
b、导航刷新相关
UIWebView 网页导航相关 WKWebView 网页导航相关 说明
canG

到了这里,关于iOS UIWebView与WKWebView 那些事的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter ios webview不能打开http地址

    参考 1、iOS添加信任 webview_flutter 在使用过程中会iOS出现无法加载HTTP请求的情况, 但是Flutter 却可以加载HTTP请求。这就与两个的框架有关了,Flutter是独立于UIKit框架的。 解决方案就是在iOS 的info.plist中添加对HTTP的信任。 安卓的一些地址打不开 Flutter-Webview组件处理Scheme协议

    2024年02月11日
    浏览(38)
  • 钉钉小程序 - - - - 内嵌webview打不开?ios打开白屏?安卓页面受限?

    小程序内引入H5页面是常见需求,但是总有一些弯弯绕绕在阻挠着开发的进度。 开发者工具打开H5页面是没问题的,但是真机访问有问题?安卓机能够正常访问,但是ios访问有问题? http需要换成https协议 url传参是可能有一些特殊字符、汉字等,需要使用 decodeURIComponent(url) 进

    2024年02月16日
    浏览(35)
  • ios15及以上webview、Safari使用Websocket断连,1006无清晰错误码

    做游戏通常都会用到Websocket,这个工具在前端本身的文档( Websocket-mdn)就简单得很,原理也很简单,就是http1.1的基础上增加了长链接,封装之后监听open、message、error、close,可以主动调用send、close,通常close不会主动调用。 机型均为15.3以上,后测试12.5没有问题,机型范围并不

    2024年02月15日
    浏览(58)
  • 【项目实践-04】实验室移动端:对象添加新属性+webview IOS端appendJsFile()方法不生效

    一、vue2对象添加新属性         在做实验室移动端时有这样一个需求,即获取下级页面的数据 (toChooseDevice()),为当前页面中的form表单数据添加新的属性和值,然后表单完成后进行提交(submitForm())操作 遇到问题 :在获取下级页面数据为form赋值时,如果使用 this.form[str] =

    2024年02月22日
    浏览(36)
  • react-native-webview使用postMessage后H5不能监听问题(iOS和安卓的兼容问题)

     chatgpt: https://chat.xutongbao.top/ 参考链接: https://blog.csdn.net/liuxingyuzaixian/article/details/125199131 https://chat.xutongbao.top/

    2024年02月12日
    浏览(37)
  • iOS textView支持超链接跳转

    将某些文字变成高量可以点击的超链接核心功能代码 同时,要实现点击超链接的UITextView代理方法 完整代码 实现代理方法 效果图

    2024年02月12日
    浏览(37)
  • FlutterUnit 已上架 iOS,暗色模式全面支持

    一、FlutterUnit 的全平台支持 FlutterUnit 是我的一个开源项目,基于 Flutter 构建的一个 全平台 应用程序。现在很荣幸地宣布: FlutterUnit 已经上架 iOS 的 App Store ,自此主流的几大平台均已提供体验。 项目地址: https://github.com/toly1994328/FlutterUnit 今后,各平台的软件安装包将放在 F

    2024年02月11日
    浏览(40)
  • 利用webview 内嵌实现小程序,h5 ,app 页面跳转和数据通讯,附带实现pdf文件的预览(兼容ios和安卓)

    承载网页的容器。会自动铺满整个小程序页面, 个人类型的小程序暂不支持使用。 客户端 6.7.2 版本开始,navigationStyle: custom 对 web-view 组件无效 相关的属性说明:开放能力 / web-view (qq.com) 2.bindmessage 可以实现网页端和小程序之间通讯, 但只在特定时机触发 网页端向小程序

    2024年02月02日
    浏览(68)
  • HFZ Activator Ramdisk绕过iPhone/ipad激活锁,支持最新iOS15.0-iOS16.3

    由HZF团队开发的HFZ Activator Ramdisk 是一款绕过iPhone/ipad激活锁的软件,软件支持最新iOS15.0 -iOS16.3的设备绕过激活锁界面进入系统正常连接WiFi使用,不需要改码,支持完美重启,可以开关机,支持登录iCloud,支持App Store下载软件,Facetime、 Siri 、 iMessage、 消息通知推送。 工具官

    2024年02月04日
    浏览(119)
  • iOS15-16绕过激活锁,屏幕锁完美隐藏工具老虎V4.5,支持最新iOS16.1.1系统

    老虎V4.5这是一款可以绕过激活锁、屏幕锁界面完美隐藏的工具,也可以解决手机或者平板无法激活的问题,支持最新的iOS16.1.1系统。 老虎V4.5新增一键紫萍抹除 目前支持的型号: 需要工程线 iPhone:SE16S6SP iPad Air2  (A1566 A1567) iPad Mini4  (A1538 A1550) iPad 5 2017  (A1822 A1823) iPad 

    2024年02月01日
    浏览(246)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包