iOS WKUserContentController
WKUserContentController
文章目录
- WKUserContentController
- 一、WKUserContentController是什么?
- 二、详解
- 1.属性方法
- 1.1 WKUserScript
- 1.2 WKContentRuleList、WKContentRuleListStore
- 2.Demo
- 总结
一、WKUserContentController是什么?
WKUserContentController对象为JavaScript提供了一种发布消息并将用户脚本注入webView的方法。
二、详解
1.属性方法
iOS 8.0+// 添加name的脚本消息处理。 H5调用原生
func add(WKScriptMessageHandler, name: String)// 移除name的脚本消息处理
func removeScriptMessageHandler(forName: String)// 注入JS方法,供前端调用。 原生调用H5
func addUserScript(_ userScript: WKUserScript)// 移除所有关联的用户脚本
func removeAllUserScripts()// 与UserContentController(用户内容控制器)关联的用户脚本
var userScripts: [WKUserScript]*****************添加和删除内容规则 iOS 11.0+ *****************
// 添加内容规则列表。
func add(_ contentRuleList: WKContentRuleList)// 移除内容规则列表。
func remove(WKContentRuleList)// 移除所有的内容规则列表
func removeAllContentRuleLists()***************** 实例方法 iOS 14.0+ *****************
// 用命名空间来区分不同环境的消息事件
func add(WKScriptMessageHandler, contentWorld: WKContentWorld, name: String)func addScriptMessageHandler(WKScriptMessageHandlerWithReply, contentWorld: WKContentWorld, name: String)func removeAllScriptMessageHandlers()func removeAllScriptMessageHandlers(from: WKContentWorld)func removeScriptMessageHandler(forName: String, contentWorld: WKContentWorld)
1.1 WKUserScript
WKUserScript对象表示可以注入网页的脚本。
// 初始化一个可以添加到用户内容控制器的用户脚本。
// source:脚本的源代码。
// injectionTime: 应将脚本注入网页的时间。WKUserScriptInjectionTime枚举
// forMainFrameOnly:应将脚本注入到主框架(true)还是应注入所有框架(false)。
init(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool)var source: String
var injectionTime: WKUserScriptInjectionTime
var isForMainFrameOnly: Boolenum WKUserScriptInjectionTime : Int
case atDocumentStart // 在创建document元素之后但在加载任何其他内容之前注入脚本。
case atDocumentEnd // 在document完成加载之后但在其他子资源完成加载之前注入脚本。// 初始化一个指定命名空间的、可以添加到用户内容控制器的用户脚本iOS 14.0+
init(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool, in: WKContentWorld)
1.2 WKContentRuleList、WKContentRuleListStore
适用于Web内容的已编译规则列表。
2.Demo
未完待续。。。
总结
。
iOS WKUserContentController相关推荐
- iOS与JS交互的4种方法
iOS与JS交互的方法: 1.拦截url(适用于UIWebView和WKWebView) 2.JavaScriptCore(只适用于UIWebView,iOS7+) 3.WKScriptMessage ...
- iOS 走近商城 APP(三 WKWebView 商品规格选择框架封装)
原文链接:http://www.jianshu.com/p/293ee1bfe104 商城 -- 由 3033 分享 开篇 忽然发现最近也只有值班才能写东西了,中间更新了两篇其他的断了下商城相关的文章 ...
- iOS下JS与OC互相调用(二)--WKWebView 拦截URL
在上篇文章中讲述了使用UIWebView拦截URL的方式来处理JS与OC交互. 由于UIWebView比较耗内存,性能上不太好,而苹果在iOS 8中推出了WKWebView. 同样的用WKWebVie ...
- WKWebView 实现iOS与H5的交互转
在iOS开发中,H5的嵌入可以通过UIWebView或者WKWebView.这两个都是继承UIView,来加载web数据的类.UIWebView是在iOS2的时候开始使用的.特点是加载速度慢,占用内存 ...
- iOS内实现h5原生开发
介绍 Xcode可以直接引入h5的界面,实现原生界面内嵌h5开发.其实这里不止iOS可以这样做,安卓也可以引用同样的h5界面,实现界面使用同一份h5代码. 为什么要写h5的界面呢,原因是第一Xcode ...
- iOS WKWebView JS原生交互之JS调用OC(附demo)
Demo下载地址:https://github.com/msbaby520/WKWebViewJSCallOC 2019.02.26 更新 注意: iOS12起不再支持UIWebView,请采用WKW ...
- ios开发 ajax hook,IOS中的网络拦截总结
因为业务场景需要,要求对App中网络请求进行拦截.这里包括原生网络请求和WebView里的网络请求.之前我们了解过原生网络请求的拦截是可以实现的,但是WebView中网络请求似乎还不太可能,所以抱着尝 ...
- iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge
2019独角兽企业重金招聘Python工程师标准>>> iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge 转载:原地址 ht ...
- ip访问 webstorem_常见问题-iOS WebView IP直连 如何处理 Cookie
WKWebView 无法使用 NSURLProtocol 拦截请求 针对该问题方案如下: 换用 UIWebView 使用私有 API 进行注册拦截 换用 UIWebView 方案不做赘述,说明下使用私 ...
最新文章
- apache+tomcat 子目录映射成子域名
- Java8之lambda表达式的总结
- 用神经网络分类连续与离散
- 【关于学习渗透】手把手教你玩转java反序列化cb链
- 用电脑发短信_丢掉你的手机数据线吧!用这个软件轻松在任何设备互传文件
- 深度学习之caffe1——软件配置与测试
- sql server解析xml属性为表格_[Mybatis][基础支持层]mapper xml sql 解析
- 分享:Python中的位运算符
- 114. PHP command line getopt
- GAMES101 Transformation Cont.
- 如何提高意志力如何坚持每天学习
- Qt学习—qt编写定时关机程序
- shell脚本中source和expert的简单理解
- 应用商店优化(ASO)之关键词及描述优化
- 定位误差:基准位置公差、基准不重合误差
- [其他][转载]ACM知识点分类
- 51Nod 1378 夹克老爷的愤怒
- 【游戏客户端】实现游戏中的小地图
- [车联网安全自学篇] Car Hacking之CAN总线初探
- java svg png_java batik svg转png报错,球大神!!!在线等
热门文章
- 计算机表格中如何计算数据透视表,Excel表格中在数据透视表中添加计算字段的方法...
- 一点点有的没的和一年总结
- VMware报错:无法获得VMCI驱动程序的版本:句柄无效。驱动程序vmci.sys的版本不正确
- 一文看尽2020上半年阿里、腾讯、百度入选AI顶会论文
- matlab画图中颜色渐变
- 目标检测和感受野的总结和想法
- 对勾函数_对勾函数的图像及其性质1.pptx
- 第12集 关于库卡机器人对需要减速和插值方式说明
- linux php7.4,PHP 7.4登陆Ubuntu 20.04 LTS
- 1758 生成交替二进制字符串的最少操作数