美文网首页
WKWebView记录

WKWebView记录

作者: 夜沐月 | 来源:发表于2020-04-15 13:59 被阅读0次

    WKWebViewConfiguration

    初始化webView的属性集合, 用WKWebViewConfiguration这个类,你可以决定一会网页怎么渲染,视频播放如何处理,用户可以选择的项的粒度,和其他选择。WKWebViewConfiguration仅仅当网页第一次加载的时候使用,当网页被创建时,你不能用WKWebViewConfiguration去修改网页的配置

    配置新Web视图的属性
    • applicationNameForUserAgent 用户代理字符串中使用的应用程序的名称
    • preference web视图要使用的首选项对象。
    • processPool 获取视图的Web内容进程的进程池
    • userContentController 要与web视图关联的用户内容控制器
      +websiteDataStore web视图使用的网站数据存储。
    确定网页可伸缩性
    • ignoresViewportScaleLimits 一个布尔值,用于确定WKWebView对象是否应始终允许缩放网页。
    设置渲染首选项
    • suppressesIncrementalRendering 一个布尔值,指示web视图在完全加载到内存中之前是否抑制内容呈现。
    Setting Media Playback Preferences
    • allowsInlineMediaPlayback 一个布尔值,指示HTML5视频是内联播放还是使用本机全屏控制器。
    • allowsAirPlayForMediaPlayback 指示是否允许AirPlay的布尔值
    • allowsPictureInPictureMediaPlayback 一个布尔值,指示HTML5视频是否可以在图片中播放图片
    • mediaTypesRequiringUserActionForPlayback API_AVAILABLE(macos(10.12), ios(10.0)) 确定哪些媒体类型需要用户手势才能开始播放。此处要注意属性使用时要加一个系统版本判断
    • WKAudiovisualMediaTypes 需要用户手势才能开始播放的媒体类型
    设置选择粒度
    • selectionGranularity 用户可以在web视图中交互选择内容的粒度级别。
    • WKSelectionGranularity 交互地创建和修改选择的粒度
    选择用户界面方向性
    • userInterfaceDirectionPolicy 用户界面元素的方向性
    • WKUserInterfaceDirectionPolicy 用于确定web视图中用户界面元素的方向性的策略。
    识别数据类型
    • dataDetectorTypes 所需的数据检测类型。
    • WKDataDetectorTypes 检测到的数据类型
    为新URL Scheme添加处理程序
    • -setURLSchemeHandler:forURLScheme: 为给定的URL Scheme添加URL Scheme处理程序对象
    • -urlSchemeHandlerForURLScheme: 返回给定URL Scheme的当前注册的Scheme处理程序
    实例属性 defaultWebpagePreferences

    WKUserContentController

    WKUserContentController对象为JavaScript提供了一种向web视图发送消息和插入用户脚本的方法。

    添加消息处理程序
    • -addScriptMessageHandler:name: 添加脚本消息处理程序
    添加和删除用户脚本
    • -addUserScript: 添加用户脚本
    • -removeAllUserScripts 删除所有关联的用户脚本
    • -removeScriptMessageHandlerForName:删除脚本消息处理程序。
    • userScripts 与用户内容控制器关联的用户脚本
    添加和删除内容规则
    • -addContentRuleList: 添加内容规则列表
    • -removeContentRuleList: 删除规则列表。
    • -removeAllContentRuleLists 删除所有规则列表
    • WKContentRuleList 要应用于web内容的规则的编译列表。
    • WKContentRuleListStore

    WKUserScript

    WKUserScript对象表示可以注入网页的脚本

    初始化脚本
    • -initWithSource:injectionTime:forMainFrameOnly: 返回可添加到用户内容控制器的已初始化用户脚本
    • source脚本的源代码
    • injectionTime 脚本应注入网页的时间
    • forMainFrameOnly一个布尔值,指示脚本应该只注入主帧(是)还是所有帧(否)
    • WKUserScriptInjectionTime 将用户脚本插入网页的时间

    navigationDelegate

    启动导航
    • -webView:didCommitNavigation: 当web视图开始接收web内容时调用
    • -webView:didStartProvisionalNavigation: 在web视图中开始加载web内容时调用。
    响应服务器操作
    • -webView:didCommitNavigation: 当web视图开始接收web内容时调用
    • -webView:didReceiveServerRedirectForProvisionalNavigation:当web视图收到服务器重定向时调用
    身份验证挑战
    • -webView:didReceiveAuthenticationChallenge:completionHandler:当web视图需要响应身份验证质询时调用。
    对错误的反应
    • -webView:didFailNavigation:withError:在导航过程中发生错误时调用。
    • -webView:didFailProvisionalNavigation:withError: 当web视图加载内容时发生错误时调用。
    跟踪加载进度
    • -webView:didFinishNavigation:导航完成时调用
    • -webViewWebContentProcessDidTerminate:当web视图的web内容进程被终止时调用
    允许导航
    • -webView:decidePolicyForNavigationAction:decisionHandler:决定是否允许或取消导航
    • -webView:decidePolicyForNavigationResponse:decisionHandler: 决定在知道导航的响应后是否允许或取消导航。
    导航策略
    • WKNavigationActionPolicy 从webView:decidePolicyForNavigationAction:decision handler:方法传回决策处理程序的策略。
    • WKNavigationResponsePolicy
      从webView:decidePolicyForNavigationResponse:decision handler:方法传回决策处理程序的策略。
    实例方法
    • -webView:decidePolicyForNavigationAction:preferences:decisionHandler:

    WKUIDelegate

    WKUIDelegate类提供了表示网页的原生界面原素的方法,Web视图用户界面委托实现此协议以控制新窗口的打开,增强用户单击元素时显示的默认菜单项的行为,并执行其他与用户界面相关的任务。这些方法可以作为处理JavaScript或其他插件内容的结果调用。默认的web视图实现假设每个web视图有一个窗口,因此非常规用户界面可能实现一个用户界面委托。

    创建Web视图
    • webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures 创建新的web视图
    显示用户界面面板
    • webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler 显示JavaScript提示面板。
    • webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler 显示一个JavaScript确认面板
    • webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:显示JavaScript文本输入面板
    关闭Web视图
    • webViewDidClose:通知应用程序DOM窗口已成功关闭。
    显示上传面板
    • webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler: 显示文件上传面板
    实例方法

    -webView:contextMenuConfigurationForElement:completionHandler:
    -webView:contextMenuDidEndForElement:
    -webView:contextMenuForElement:willCommitWithAnimator:
    -webView:contextMenuWillPresentForElement:

    相关文章

      网友评论

          本文标题:WKWebView记录

          本文链接:https://www.haomeiwen.com/subject/xrfzmhtx.html