WKWebView API精讲(OC)
来源:互联网 发布:mac所有色号图片 编辑:程序博客网 时间:2024/05/29 03:26
前言
鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文。
所有看到本篇文章的同志们,应该要感谢LL同志,更要向LL同志学习,积极打赏!
WKWebView
看看WKWebView的头文件声明:
WKWebViewConfiguration配置
WKPreferences偏好设置
目前在iOS平台上偏好设置只有三个属性可以设置,如下:
WKProcessPool内容处理池
WKProcessPool并没有公开任何的属性或者方法,不需要配置:
其实我们也没有必须去创建它。
WKUserContentController内容交互控制器
我们要通过JS与webview内容交互,就需要到这个类了,它的所有属性及方法说明如下:
WKUserScript
在WKUserContentController中,所有使用到WKUserScript。WKUserContentController是用于与JS交互的类,而所注入的JS是WKUserScript对象。它的所有属性和方法如下:
WKUserScriptInjectionTime
它是一个枚举类型,只有在文档开始加载时注入和加载结束时注入。
WKWebsiteDataStore存储的Web内容
iOS9.0以后才能使用这个类。它是代表webview不同的数据类型,包括cookies、disk、memory caches、WebSQL、IndexedDB数据库和本地存储。
从这里看,要优化Webview好像可以通过它来实现,不过要求iOS9.0以上才能使用。现在6.0都没有抛弃的我,从来不能考虑这种最新的。
所有的dataTypes是下面这些系统所定义的:
WKWebsiteDataRecord
iOS9.0以后才可用。
website的数据存储记录类型,它只有两个属性:
WKSelectionGranularity选择粒度
它表示在webview上选择内容的粒度,只有下面这两种类型:
它是用于webview内容交互时选择内容的粒度类型设置。比如说,当使用WKSelectionGranularityDynamic时,而所选择的内容是单个块,这时候granularity可能会是单个字符;当所选择的web内容不限制于某个块时,granularity可能会是单个块。
WKNavigationDelegate
WKNavigationActionPolicy
导航动作决定策略:
它是枚举类型,只有Cancel和Allow这两种。设置为Cancel就是不允许导航,就不会跳转链接。
WKNavigationResponsePolicy
WKNavigationResponse
WKNavigationResponse是导航响应类,通过它可以获取相关响应的信息:
只有接收响应与不接收响应两种。
WKNavigationAction
WKNavigationAction对象包含关于导航的action的信息,用于make policy decisions。它只有以下几个属性:
WKNavigationType
WKNavigationType类型是枚举类型,它的可选值如下:
WKUIDelegate
WKBackForwardList
WKBackForwardList表示webview中可以前进或者后退的页面列表。其声明如下:
WKBackForwardListItem
页面导航前进、后退列表项:
最后
本篇文章只是讲解了WKWebView所有相关的类的API,先阅读过本篇文章,再继续往下阅读实战篇文章!
- WKWebView API精讲(OC)
- WKWebView API精讲(OC)
- WKWebView API精讲(OC)
- WKWebView API精讲(OC)
- oc与js交互-----WKWebView
- Web与OC交互---WKWebView
- WKWebView js回调oc代码
- WKWebView OC和JS交互
- 基于WKWebview IOS app (OC) 源码
- WKWebView与Js实战(OC版)
- WKWebView与Js实战(OC版)
- WKWebView与Js实战(OC版)
- WKWebView与Js实战(OC版)
- WKWebView OC与js的交互
- OC与JS交互之WKWebView
- OC与JS交互之WKWebView
- WKWebView的OC和JS交互
- OC 与 JS 交互 (UIWebView & WKWebView)
- Java 中基本类型和字符串之间的转换
- EasyUI 窗口
- Xcode打包和获取设备的IDFA等
- strbrk()函数的设计
- java.lang.UnsupportedOperationException
- WKWebView API精讲(OC)
- 安装mysql的问题总结
- php 小知识点
- 策略模式 - Android.TabHost
- 关于Unity的808个教程
- MySQL优化之六--Mysql日志及基于日志点的主从复制
- 7.29的小记录
- 51nod 1289 大鱼吃小鱼 栈
- 在mac上搭建python环境