首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发中OC与H5网页交互之OCJS(WKWebView)

/u010105969/article/details/53541088 本篇博客则是讲了OCJS,代码似乎更简单。...JS值需要再网页加载完成之后进行,当初我JS的是用户的登录状态,JS需要拿到用户的登录状态去进行收藏的操作。...注意:JS能接收到OC传递的数据,但却不能进行输出,需要进行判断,看接收到的数据是不是某个数据。...当初在做这块的时候iOS这边打印的一直是null,写JS的哥们也一直说没有接收到数据,(他说我的代码有问题,我说他的代码有问题),最后才发现JS接收到的数据不能输出打印,只能进行判断。...再次提醒:这种OCJS参数的方式实际就是OC调用JS方法,的值是JS方法的一个参数。 好了,博客很短,代码很简单,希望帮到那些在找OCJS方法的童鞋们。

5K20

iOSOCCategory添加属性

引: 很多人知道可以用Category已有的类添加一些新方法,但是不同于swift中的extension,Objective-C中的Category(类别)是不支持直接添加属性的,那如果就是需要添加新的属性怎么办呢...关于Runtime的说明可以查看这篇博客:传送门:OC中Runtime浅析 Category(类别): 对于不熟悉Category的人,这里也先说明一下Category是什么以及怎么创建Category...由于一些特殊的需要,我们可能要给现有的类添加一些新的方法,这个需求用继承也可以做到,但是会显得比较重,这时候就可以用Category来达到目的,创建一个已有类的Category,可以这个类添加你需要的方法...所以我们首先需要自己去添加setter、getter方法,这个好办,直接在.m文件里加就可以了,但是要真正添加可以使用的属性,还需要利用Runtime来关联对象,关于关联对象的技术可以看传送门:OC中Runtime...结 以上就是Category添加属性的方法啦,不难,只要了解Runtime中的关联对象技术就可以轻松达到了。

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发中OCJS交互(UIWebView)

https://blog.csdn.net/u010105969/article/details/53189934 之前虽然做过OCJS交互,但都是比较简单的效果:点击网页中的图片,然后进行图片浏览...现在对OCJS交互这块也不是很清楚,今天只是把之前的代码贴过来以便今后更好地理解OCJS的交互。 首先需要往网页中注入JS。注入JS的工作是后台做的。...可好像安卓和iOS还是有区别的,因为之前安卓那边可以实现与JS的交互,而我这边却不能。后台后台修改了代码,我这边也就可以进行交互了。...documentView.webView.mainFrame.javaScriptContext"]; _jsContext[@"startFunction"] =^(id obj){ ////这里通过block回调从而获得h5传来的json数据...附上利用WKWebView加载网页OCJS的交互的地址: http://mp.blog.csdn.net/postedit/53541088

3.9K30

iOSJS与原生OC互相调用(总结)

iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式。...关于这种方式调用OC方法,唐巧早期有篇文章有过介绍: 关于UIWebView和PhoneGap的总结 方式二 在iOS 7之后,apple添加了一个新的库JavaScriptCore,用来做JS交互,...iOSJSOC互相调用(一)--UIWebView 拦截URL iOSJSOC互相调用(二)--WKWebView 拦截URL iOSJSOC互相调用(三)--MessageHandler...iOSJSOC互相调用(四)--JavaScriptCore iOSJSOC互相调用(五)--UIWebView + WebViewJavascriptBridge iOSJSOC互相调用...(六)--WKWebView + WebViewJavascriptBridge iOSJSOC互相调用(七)--Cordova 基础 iOSJSOC互相调用(八)--Cordova详解+实战

5K30

iOSJSOC互相调用(四)--JavaScriptCore

创建一个JSContext对象的方式有: // 1.这种方式需要传入一个JSVirtualMachine对象,如果nil,会导致应用崩溃的。...奇怪的是竟然可以更新部分UI,例如view设置背景色,调用webView执行js等,但是弹出原生alertView就会在控制台报子线程操作UI的错误信息。...当然我们可以将JSContext 和JSValue当做block的参数进去,这样就可以使用啦。 2.3 OC调用JS方法 OC调用JS方法就有多种方式了。...当然,我们也可以已经存在的类动态添加协议,来使其可以供JS 使用。...WKWebView中如何实现OCJS交互可以看前面这篇文章:iOSJSOC互相调用(三)--MessageHandler UIWebView利用JavaScriptCore来实现交互的示例工程:JS_OC_JavaScriptCore

2.8K10

iOSJSOC互相调用(一)--UIWebView 拦截URL

目前我已知的JSOC 交互的处理方式: 1.在JS 中做一次URL跳转,然后在OC中拦截跳转。...我去年也写过一个相互调用的总结:iOSJS与原生OC互相调用(总结)。 写的比较粗糙,因此准备新开一个目录专题来记录JS 与原生交互的处理方式。...UIWebView 拦截URL 我之前就使用的是UIWebView + 拦截URL 的方式实现的JSOC 交互。 原因是因为要兼容iOS 6。 1.创建UIWebView,并加载本地HTML。...中调用OC 方法的时候,也需要参数到OC 中,怎么呢?...OC调用JS方法 关于将OC 执行结果返回JS 需要注意的是: 如果回调执行的JS 方法带参数,而参数不是字符串时,不要加单引号,否则可能导致调用JS 方法失败。

3.6K40

iOS学习巩固笔记-UIWebViewJavaScript

2.1 JavaScript的常见作用 HTML网页添加动态功能,比如响应用户的各种操作 操纵HTML元素,比如添加、删除、修改网页元素 2.2 常见的JavaScript函数 alert(10);...决定网页的事件 2.html学习网站:W3School 3.2 OCJS代码的互调 OC调用JS的代码 NSString *str = [self.webView stringByEvaluatingJavaScriptFromString...:@"sum()"]; JS调用OC的说明 新的需求:点击按钮的时候拨打电话 但是我在点击按钮的时候,用户是不知道的,我们怎么能够知道用户点击了网页上面的一个按钮,只能通过一个技巧,那就是自己搞一个特定的协议头比如说...OC里面有通过字符串生成SEL类型的方法,所以当拿到数据之后做下面的事情 截取方法的名称 将截取出来的字符串转换为SEL 利用performSelect方法来调用SEL 涉及到的相关方法 //判断字符串是否以一个固定的字符开头...subject=程序异常崩溃,请配合发送异常报告,谢谢合作!"]

1.2K70

WebView 和 JS 交互,如何将 Java 对象和 List JS

今天我们来看看,如何将 Java 对象 和 List 集合 JS 调用。...1 如何将 Java 对象实例 JS 其实将我们在 Android 原生中将 Java 对象实例 JS 承认并且可以使用的对象,方法非常简单。我们来举个例子。...它就是我们值进行的 Java 对象实例。直接就可以使用,获取了年龄,名字,和性别属性。那我们该如何声明该对象,才会被 JS 所承认呢?...wv.loadUrl("javascript:callJS()");这句话的意思就是:调用JS中的方法 callJS()函数方法。 2 Java List如何传给 JS 呢?...其实按道理来说,是不可以将List集合直接 JS 使用,但是既然对象可以值,JS 可以调用 java 对象,也可以调用 Android 中的方法,那我们就一拆分的形式传过去。

8.5K100

iOS iOS与html进行交互

然后点击下一页的按钮 通过js的响应显示另一个网页          最后通过下一页的按钮可以返回到首页。     本文仅仅是h5跟ios 的交互的入门 所以没有做细致的描述。...首先先说一下思路:我的项目中是那样的:首先h5从后台拿到数据,然后我请求h5的界面,然后通过h5的按钮进行选择,通过ios控制按钮到那个界面。 这个小demo不涉及数据传输,只是界面的交互。...我这边采用的方式是:通知值的方式 思路: 在webviewVC的界面初始化的时候就要把通知加上 然后 登录成功之后  发送通知 将值传给h5 //添加一个通知 等着需要html的时候就用这个通知...跟h5 相互船值就是这么简单。...代码 3.运行   oc代码: // // ViewController.m // OCJS交互之WKWebView // // Created by user on 16/8/18. //

2.3K100

React Native和原生app通信机制详解

概述 React Native用iOS自带的JavaScriptCore作为JS的解析引擎,但并没有用到JavaScriptCore提供的一些可以让JSOC互调的特性,而是自己实现了一套机制,这套机制可以通用于所有...char *__rct_export_entry__[] = { __func__, #JS_name } 这个宏的作用是用编译属性attribute二进制文件新建一个section,属于DATA数据段...可以看到可执行文件数据段多了个RCTExport段,内容就是各个要暴露JS的方法。...问题剖析 上述第4步留下一个问题,JS是怎样把数据传给OC,让OC去调相应方法的? 答案是通过返回值。...JS不会主动传递数据OC,在调OC方法时,会在上述第4步把ModuleID,MethodID等数据加到一个队列里,等OC过来调JS的任意方法时,再把这个队列返回OC,此时OC再执行这个队列里要调用的方法

1.5K80

React Native和原生app通信机制详解

概述 React Native用iOS自带的JavaScriptCore作为JS的解析引擎,但并没有用到JavaScriptCore提供的一些可以让JSOC互调的特性,而是自己实现了一套机制,这套机制可以通用于所有...char *__rct_export_entry__[] = { __func__, #JS_name } 这个宏的作用是用编译属性attribute二进制文件新建一个section,属于DATA数据段...可以看到可执行文件数据段多了个RCTExport段,内容就是各个要暴露JS的方法。...问题剖析 上述第4步留下一个问题,JS是怎样把数据传给OC,让OC去调相应方法的? 答案是通过返回值。...JS不会主动传递数据OC,在调OC方法时,会在上述第4步把ModuleID,MethodID等数据加到一个队列里,等OC过来调JS的任意方法时,再把这个队列返回OC,此时OC再执行这个队列里要调用的方法

1.2K80
领券