iOS WebKit Navigation
前言
WebKit 导航相关class,WKNavigation,WKNavigationAction,WKNavigationResponse
提示:以下是本篇文章正文内容,下面案例可供参考
一、WKNavigation是什么?
WKNavigation对象包含用于跟踪网页加载进度的信息。
导航对象从Web视图加载方法返回,并且还传递到导航委托方法,以从头到尾唯一地标识网页加载。 它没有自己的方法或属性。
// iOS 13.0+ 有效内容模式
// WKWebpagePreferences.ContentMode: desktop、mobile、recommended
var effectiveContentMode: WKWebpagePreferences.ContentMode
二、WKNavigationAction是什么?
WKNavigationAction对象包含有关可能导致导航的操作的信息,用于制定策略决策。
*********************** Inspecting Navigation Information ***********************
// 导航的请求
var request: URLRequest
// 请求导航的frameInfo。
var sourceFrame: WKFrameInfo
// 目标frameInfo;如果为新窗口导航,则为nil。
var targetFrame: WKFrameInfo?
*********************** Inspecting User Actions ***********************
// 导致请求导航的鼠标按钮的编号。 macOS 10.10+
var buttonNumber: Int
// 请求导航时生效的修饰符。 macOS 10.10+
var modifierFlags: NSEvent.ModifierFlags
// 触发导航的操作类型 iOS 8.0+ macOS 10.10+
var navigationType: WKNavigationType
// 触发导航的操作类型。
enum WKNavigationType : Int
case linkActivated // 用户激活了具有href属性的链接。
case formSubmitted // 表单已提交
case backForward // 请求了后退列表中的一个项目
case reload // 网页重新加载
case formResubmitted // 表单重新提交了,for example by going back, going forward, or reloading
case other // 导航由于其他原因而发生。
三、WKNavigationResponse是什么?
WKNavigationResponse对象包含有关导航响应的信息,用于制定策略决策
// WebKit是否可以本地显示响应的MIME类型
var canShowMIMEType: Bool
// 被导航的框架是否是主框架
var isForMainFrame: Bool
// 框架响应,允许使用无法显示的MIME类型的导航响应将导致导航失败。
var response: URLResponse
总结
以上就是今天要介绍的内容,WKNavigation,WKNavigationAction,WKNavigationResponse主要出现在代理回调方法里面做相应的处理。