近日,由于开发需求,涉及到书写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的交互实现相关推荐

  1. iOS中JS 与OC的交互(JavaScriptCore.framework)

    iOS中实现js与oc的交互,目前网上也有不少流行的开源解决方案: 如:react native 当然一些轻量级的任务使用系统提供的UIWebView 以及JavaScriptCore.framewo ...

  2. iOS中js与objective-c的交互(转)

    因为在iOS中没有WebKit.Framework这个库的,所以也就没有 windowScriptObject对象方法了.要是有这个的方法的话 就方便多了,(ps:MacOS中有貌似) 现在我们利用其 ...

  3. UIWebView中JS与OC交互 WebViewJavascriptBridge的使用

    一.综述 现在很多的应用都会在多种平台上发布,所以很多程序猿们都开始使用Hybrid App的设计模式.就是在app上嵌入网页,只要写一份网页代码,就可以跑在不同的系统上.在iOS中,app多是通过W ...

  4. IOS中的swift和oc关于对象模型的description方法重写

    IOS中的swift和oc关于对象模型的description方法重写 先讲OC的,oc比较重要,放在最前面. 首先创建一个cocoa Touch Class,继承NSObject, 命名Person ...

  5. iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge

    WebViewJavascriptBridge是一个有点年代的JS与OC交互的库,使用该库的著名应用还挺多的,目前这个库有7000+star.我去翻看了它的第一版本已经是4年前了,在版本V4.1.4以 ...

  6. iOS下JS与OC互相调用(四)--JavaScriptCore

    前面讲完拦截URL的方式实现JS与OC互相调用,终于到JavaScriptCore了.它是从iOS7开始加入的,用 Objective-C 把 WebKit 的 JavaScript 引擎封装了一下, ...

  7. iOS下JS与OC互相调用(一)--UIWebView 拦截URL

    1.在JS 中做一次URL跳转,然后在OC中拦截跳转.(这里分为UIWebView 和 WKWebView两种,去年因为还要兼容iOS 6,所以没办法只能采用UIWebView来做.) 2.利用WKW ...

  8. ios开发 ajax hook,IOS中的网络拦截总结

    因为业务场景需要,要求对App中网络请求进行拦截.这里包括原生网络请求和WebView里的网络请求.之前我们了解过原生网络请求的拦截是可以实现的,但是WebView中网络请求似乎还不太可能,所以抱着尝 ...

  9. iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge

    2019独角兽企业重金招聘Python工程师标准>>> iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge 转载:原地址 ht ...

最新文章

  1. Centos7上安装 elasticsearch-6.2.2及相关插件
  2. 在用户控件中用户登录后台脚本判断
  3. 从前端角度来看网页设计
  4. 操作 Wave 文件(4): 获取 Wave 文件主块与子块的信息
  5. C语言字符串怎么算char字符,计算C中字符串中char的出现次数
  6. NPOI 将DataGridView导出到Excel
  7. MYSQL 入门全套
  8. 【转】20个让Web Developer开发生涯更加轻松的工具
  9. 用的最多的正则表达式
  10. Java 算法 FBI树
  11. 谷歌将反欺诈系统绕过纳入漏洞奖励计划
  12. 第一行代码android第三版pdf,第一行代码:Android PDF 下载
  13. Apizza在线接口工具如何支持RESTful Path 参数
  14. 关于Matpower用于攻击检测仿真方法的文献摘录
  15. Excel表Ctrl+v和Ctrl shift+v有什么区别_Excel表格操作技巧,超实用
  16. Debian(Linux) 安装Windows通用字体(可解决TimesNewRoman等字体的报错)
  17. ScriptManager和ClientScript的区别
  18. 如何在2小时内快速入门彩铅
  19. 少儿编程培训发展的重要趋势
  20. free -m 命令详解

热门文章

  1. 产品思维训练 | “云旅游”为啥一下子火了起来?
  2. 购置税用计算机怎么算,2019车辆购置税新政策(计算器+如何计算+计算公式)
  3. CSS如何让图片自动缩放
  4. 一种基于倏逝波的离子浓度测试芯片
  5. 在东京大学感受_我们想在东京在线游戏展上看到的10件事
  6. 动态路由渲染(思路)
  7. 神经网络和支持向量机的优缺点!
  8. ajax错误不打印到控制台,AJAX GET请求不控制台记录响应,除CORB警告外没有错误...
  9. 软件测试 面试之自我介绍部分(价值2万的线下培训资料)
  10. 两个向量的点乘和叉乘怎么算_向量的点乘和叉乘的区别,举个例子,谢谢!