2019独角兽企业重金招聘Python工程师标准>>>

有一个场景,用户点击Web页面,产生JS交互时,如何根据JS事件,App做出响应。

我们可以自己做一个简单的js交互,实现基于的原理是:

1. object-c利用stringByEvaluatingJavaScriptFromString:(NSString *)script消息获取uiwebview页面数据。

2. 那么如何监控特定的js事件呢?UIWebViewDelegate的(BOOL)webView:shouldStartLoadWithRequest:navigationType:消息。

web页面的JS产生的局部事件,这个事件引发一个href,Object-C会自动截取url。我们可以定制一个url并获取这个url参数,由特定的url参数,来发送特定的消息。也就达到了所谓js调用object-c代码发送消息目的。

转载于:https://my.oschina.net/treebug/blog/425611

JS与Object-C交互补充相关推荐

  1. Js与flash交互:在html页面中用js与MyReport插件交互

    <sdt id="89512093" sdtgroup="t" contentlocked="t" sdtlocked="t ...

  2. 微信小程序报错:WAServiceMainContext.js:2 Object(env: Windows,mp,1.05.2203070; lib: 2.14.1)

    跳转页面时报错:WAServiceMainContext.js:2 Object(env: Windows,mp,1.05.2203070; lib: 2.14.1) 刚开始找了好多解决方法都没有解决 ...

  3. Android 与 JS 的交互 以及 JS与Android 的交互

    Android与JS交互以及JS与Android 的交互 是通过WebView互相调用方法 对于Android调用JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的e ...

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

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

  5. js 之 object

    js之object 对象 ECMA-262 把对象(object)定义为"属性的无序集合,每个属性存放一个原始值.对象或函数".严格来说,这意味着对象是无特定顺序的值的数组. 尽管 ...

  6. 区块链】利用Node.js开发与合约交互的Web界面

    区块链]利用Node.js开发与合约交互的Web界面 2018-03-11 16:10:37 宣之于口 阅读数 6128  收藏 更多 分类专栏: 区块链 区块链学习笔记 版权声明:本文为博主原创文章 ...

  7. android ios web兼容,js与android iOS 交互兼容

    js与android iOS 交互兼容 在Android与js交互方面还是要比iOS方便很多,而UIWebView只暴漏出- (BOOL)webView:(UIWebView *)webView sh ...

  8. qt百度地图html,Qt的QWebChannel和JS、HTML通信/交互驱动百度地图

    Qt的QWebChannel和JS.HTML通信/交互驱动百度地图 0 前言 我一个研究嵌入式的,不知道怎么就迷上了上位机,接了几个项目都是关于Qt,这个项目还是比较经典的,自己没事儿的时候也进行研究 ...

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

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

最新文章

  1. 【深度学习】基于深度神经网络进行权重剪枝的算法(二)
  2. BZOJ 3173: [Tjoi2013]最长上升子序列
  3. java基础之HashTable和HashMap的区别
  4. 数据结构 - 单调栈、单调队列
  5. python3.4和3.6的区别_详解Python3.6正式版新特性
  6. 架设git服务器--使用git-daemon
  7. CentOS 7配置Docker Storage
  8. python按键精灵是哪个库_按键精灵命令库的介绍和使用
  9. 【Matlab印刷数字识别】OCR识别系统【含源码 438期】
  10. 【pandas】结合泰坦尼克生还分析讲讲pandas常用基础操作
  11. 安装mysql报msvcr100_解决安装mysql 提示msvcr100.dill 丢失,的最快方法
  12. 【代数语言学巡礼】Lambda-演算在形式语义学的中应用II
  13. ps做手机计算机界面,手机设计!移动设备的界面设计尺寸
  14. shopex mysql 数据库服务器_win2003以isapi的方式配置php+mysql环境(安装了shopEX) 毕竟我是杨小飞i...
  15. 安装SeisMix计算跨密度混合面
  16. Android图片加载出现色带
  17. 一般将来时语法课教案_英语一般将来时被动语态公开课教案
  18. PyQt5 简单视频播放器
  19. 社区开店选址原则(二)!赚不赚钱就在此、、、
  20. Linux使用mutt发送邮件

热门文章

  1. Lumen 5.4 时区设置
  2. 区块链产业生态、存在问题及政策建议|一文读懂新趋势
  3. 杭电 hdu 2019
  4. HTTPS 客户端验证 服务端证书流程
  5. hibernate中antlr对于hql与sql的转换源码的一些细节
  6. 孤岛惊魂5服务器稳定吗,这才是《孤岛惊魂5》真正的“最低画质”
  7. 对已经关闭的的chan进行读写,会怎么样?为什么?
  8. 大厂面试算法系列-如何从无序链表中移除重复项(一)-顺序删除
  9. Redis数据结构——整数集合-intset
  10. k8s各类yaml文件