iOS中HTML与OC的交互实现
近日,由于开发需求,涉及到书写HTML与OC交互的问题。特此做了一番研究,学习到了一点,所以,也就当是做个简单的笔记。希望可以对有需求的人有帮助,就像我自己学习的时候,总是要到处翻书,到处搜索。把这些问题解决掉。
以下为正文内容:
1、HTML与OC交互的关键,在于HTML文件中存在可以响应的点击事件:
如:
<input type="button" class="main__button" value="立即抢购" οnclick="dealProduct('立即购买')">
onclick是HTML中的点击事件,dealProduct是处理方法,实际上的交互数值,便是调用事件中处理方法返回的数值
2、iOS应用中处理HTML中的事件,需要引入#import <JavaScriptCore/JavaScriptCore.h> (JavaScriptCore.framework) 这个framework是用来读取HTML中的事件方法的。我用的是UIWebView加载的本地网页视图,在WebViewDidFinishLoad方法中进行交互操作。关键代码如下:
- (void)webViewDidFinishLoad:(UIWebView *)webView {self.jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];self.jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {context.exception = exceptionValue;NSLog(@"异常信息:%@", exceptionValue);};
//dealProduct HTML中对应的点击事件的方法self.jsContext[@"dealProduct"] = ^(NSString *title){NSLog(@"返回参数 %@ ",title);};
}
大致的一个交互思路就是如此的!个人的简单学习,多有不足,如果不清,可以留言或者加入iOS学习交流群:181798048进行交流。也请大神多加指教。iOS沪上代码小子书
iOS中HTML与OC的交互实现相关推荐
- iOS中JS 与OC的交互(JavaScriptCore.framework)
iOS中实现js与oc的交互,目前网上也有不少流行的开源解决方案: 如:react native 当然一些轻量级的任务使用系统提供的UIWebView 以及JavaScriptCore.framewo ...
- iOS中js与objective-c的交互(转)
因为在iOS中没有WebKit.Framework这个库的,所以也就没有 windowScriptObject对象方法了.要是有这个的方法的话 就方便多了,(ps:MacOS中有貌似) 现在我们利用其 ...
- UIWebView中JS与OC交互 WebViewJavascriptBridge的使用
一.综述 现在很多的应用都会在多种平台上发布,所以很多程序猿们都开始使用Hybrid App的设计模式.就是在app上嵌入网页,只要写一份网页代码,就可以跑在不同的系统上.在iOS中,app多是通过W ...
- IOS中的swift和oc关于对象模型的description方法重写
IOS中的swift和oc关于对象模型的description方法重写 先讲OC的,oc比较重要,放在最前面. 首先创建一个cocoa Touch Class,继承NSObject, 命名Person ...
- iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge
WebViewJavascriptBridge是一个有点年代的JS与OC交互的库,使用该库的著名应用还挺多的,目前这个库有7000+star.我去翻看了它的第一版本已经是4年前了,在版本V4.1.4以 ...
- iOS下JS与OC互相调用(四)--JavaScriptCore
前面讲完拦截URL的方式实现JS与OC互相调用,终于到JavaScriptCore了.它是从iOS7开始加入的,用 Objective-C 把 WebKit 的 JavaScript 引擎封装了一下, ...
- iOS下JS与OC互相调用(一)--UIWebView 拦截URL
1.在JS 中做一次URL跳转,然后在OC中拦截跳转.(这里分为UIWebView 和 WKWebView两种,去年因为还要兼容iOS 6,所以没办法只能采用UIWebView来做.) 2.利用WKW ...
- ios开发 ajax hook,IOS中的网络拦截总结
因为业务场景需要,要求对App中网络请求进行拦截.这里包括原生网络请求和WebView里的网络请求.之前我们了解过原生网络请求的拦截是可以实现的,但是WebView中网络请求似乎还不太可能,所以抱着尝 ...
- iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge
2019独角兽企业重金招聘Python工程师标准>>> iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge 转载:原地址 ht ...
最新文章
- Centos7上安装 elasticsearch-6.2.2及相关插件
- 在用户控件中用户登录后台脚本判断
- 从前端角度来看网页设计
- 操作 Wave 文件(4): 获取 Wave 文件主块与子块的信息
- C语言字符串怎么算char字符,计算C中字符串中char的出现次数
- NPOI 将DataGridView导出到Excel
- MYSQL 入门全套
- 【转】20个让Web Developer开发生涯更加轻松的工具
- 用的最多的正则表达式
- Java 算法 FBI树
- 谷歌将反欺诈系统绕过纳入漏洞奖励计划
- 第一行代码android第三版pdf,第一行代码:Android PDF 下载
- Apizza在线接口工具如何支持RESTful Path 参数
- 关于Matpower用于攻击检测仿真方法的文献摘录
- Excel表Ctrl+v和Ctrl shift+v有什么区别_Excel表格操作技巧,超实用
- Debian(Linux) 安装Windows通用字体(可解决TimesNewRoman等字体的报错)
- ScriptManager和ClientScript的区别
- 如何在2小时内快速入门彩铅
- 少儿编程培训发展的重要趋势
- free -m 命令详解
热门文章
- 产品思维训练 | “云旅游”为啥一下子火了起来?
- 购置税用计算机怎么算,2019车辆购置税新政策(计算器+如何计算+计算公式)
- CSS如何让图片自动缩放
- 一种基于倏逝波的离子浓度测试芯片
- 在东京大学感受_我们想在东京在线游戏展上看到的10件事
- 动态路由渲染(思路)
- 神经网络和支持向量机的优缺点!
- ajax错误不打印到控制台,AJAX GET请求不控制台记录响应,除CORB警告外没有错误...
- 软件测试 面试之自我介绍部分(价值2万的线下培训资料)
- 两个向量的点乘和叉乘怎么算_向量的点乘和叉乘的区别,举个例子,谢谢!