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

iOS开发中OC与JS交互(UIWebView)

https://blog.csdn.net/u010105969/article/details/53189934 之前虽然做过OC与JS交互,但都是比较简单的效果:点击网页中的图片,然后进行图片浏览...现在对OC与JS交互这块也不是很清楚,今天只是把之前的代码贴过来以便今后更好地理解OC与JS的交互。 首先需要往网页中注入JS。注入JS的工作是后台做的。...可好像安卓和iOS还是有区别的,因为之前安卓那边可以实现与JS的交互,而我这边却不能。后台后台修改了代码,我这边也就可以进行交互了。...中的方法名改掉,OC找不到相应方法,这里就会打印异常信息 NSLog(@"异常信息:%@", exceptionValue);     }; } 苹果有了 OC与JS的交互的地址: http://mp.blog.csdn.net/postedit/53541088

3.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS开发中OC与H5网页交互之OC传值给JS(WKWebView)

    https://blog.csdn.net/u010105969/article/details/77414033 之前的一篇博客中给出了JS传值给OC的方法,大家可参考博客:http://blog.csdn.net...JS接收OC传值的代码: function payResult(str){ if(str == ‘ture’){ alert(‘登录’); } } OC代码中的payResult()方法是...注意:JS能接收到OC传递的数据,但却不能进行输出,需要进行判断,看接收到的数据是不是某个数据。...当初在做这块的时候iOS这边打印的一直是null,写JS的哥们也一直说没有接收到数据,(他说我的代码有问题,我说他的代码有问题),最后才发现JS接收到的数据不能输出打印,只能进行判断。...再次提醒:这种OC给JS传参数的方式实际就是OC调用JS方法,传的值是JS方法的一个参数。 好了,博客很短,代码很简单,希望帮到那些在找OC传值给JS方法的童鞋们。

    5K20

    WebViewJavascriptBridge源码探究--看OC和JS交互过程

    今天把实现OC代码和JS代码交互的第三方库WebViewJavascriptBridge源码看了下,oc调用js方法我们是知道的,系统提供了stringByEvaluatingJavaScriptFromString...源码不多,就一个头文件WebViewJavascriptBridge.h和实现文件WebViewJavascriptBridge.m, 和一个js文件,实现在js那边可以调用oc方法,也可以在oc里面调用...先上图,实现简单的oc和js互相调用的demo, 另外附加一个模拟项目中用到的oc和js互相调用场景: ? 一、然后说说js调用oc方法的原理,它们是如何实现的?库文件三个 ?...我们跟踪下oc控制器加载UIWebView的过程和js调用oc方法过程 1、程序启动,在自定义控制器里,创建一个WebViewJavascriptBridge对象时,会加载WebViewJavascriptBridge.js.txt...2、UIWebView加载我们自定义的html页面TestJSBridge.html, 里面有脚本注册js调用oc方法标识,和oc调用js标识 <meta

    3.4K50

    iOS开发中的WKWebView与JS的交互

    https://blog.csdn.net/u010105969/article/details/53541088 之前已经写过一个篇OC与JS交互的博客了(博客地址:http://blog.csdn.net.../u010105969/article/details/53189934),可当时用来展示网页的控件是UIWebView,而在iOS8之后苹果推出了WKWebView,此控件也能用来显示网页,可与JS的交互却与...JS代码: (贴下判断iOS还是安卓的代码: varu = navigator.userAgent; varisAndroid = u.indexOf('Android') > -1 || u.indexOf...注意:在利用UIWebView展示网页的时候我们如果要想与JS进行交互那么我们就得获取JS代码中的方法名,而我们在使用WKWebView的时候就不用了。...对象...");     } } OC调用JS代码: [self.webView evaluateJavaScript:@"jsFunction()" completionHandler:^(id

    2.3K20

    iOS开发中实现OC和Swift的混编

    原有的项目都是使用OC写的,既然要在原有项目中引入swift文件首先就要实现OC和swift的混编设置。 混编设置: 在OC项目中创建一个swift文件的时候首先Xcode会弹出一个提示框: ?...这时我们要选择“Create Bridging Header”,这样就会在项目中生成一个进行OC和swift桥接的.h文件文件和我们要创建的一个swift文件。...在项目中创建一个.h文件,文件名:“项目名称-Swift.h”,如:OCAndSwift-Swift.h,创建完成之后我们在需要引入swift文件的OC文件中引入这个.h文件,然后在工程中将此.h文件删除...创建一个swift文件,在要使用该swift文件的OC文件中直接使用该swift文件即可,都不用引入此swift文件。...下面附上一个小demo的地址:https://gitee.com/liangsenliangsen/oc_and_swift_mixed.git 本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友

    2.6K41

    iOS与JS的交互

    iOS和JS的交互看似两个问题,其实要解决的问题只有一个,那就是JS如何调用native方法。...总结看来,间接实现的方式有4种: 1. 在代理方法拦截Url,识别判断 2. Block传值,实现JS调用OC 3. 模型实现,JS直接用oc方法名来调用oc方法 4....oc方法 这种方法的优点在于,JS可以直接用oc方法名来调用oc方法,这样就类似于安卓的addJavaScriptInterface方法,在使用此方法时仍然要导入JavaScriptCore //第一步...:创建一个用与JS交互的类JSHandler继承与NSObject //在类中声明一个遵守JSExport的协议,并且使JSHandler实现这个新的协议 @protocolJSHandlerProtocol.../DreamcoffeeZS/OC-And-JS 参考链接: http://www.cocoachina.com/ios/20160127/15105.html http://www.jianshu.com

    4.1K70

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

    它是从iOS7开始加入的,用 Objective-C 把 WebKit 的 JavaScript 引擎封装了一下,提供了简单快捷的方式与JavaScript交互。...当然我们可以将JSContext 和JSValue当做block的参数传进去,这样就可以使用啦。 2.3 OC调用JS方法 OC调用JS方法就有多种方式了。...这些示例和示例代码,在文章NSHipster中文版的Java​Script​Core 和 JavaScriptCore框架在iOS7中的对象交互和管理中有很详细的介绍和使用展示。...而且,WKWebView中有OC 和JS交互的方式,更easy 、更简洁,因此也用不着使用JavaScriptCore。...WKWebView中如何实现OC与JS交互可以看前面这篇文章:iOS下JS与OC互相调用(三)--MessageHandler UIWebView利用JavaScriptCore来实现交互的示例工程:JS_OC_JavaScriptCore

    2.9K10

    iOS下JS与OC互相调用(三)--MessageHandler

    使用WKWebView的时候,如果想要实现JS调用OC方法,除了拦截URL之外,还有一种简单的方式。那就是利用WKWebView的新特性MessageHandler来实现JS调用原生方法。...WKScriptMessageHandler是因为我们要处理JS调用OC方法的请求。...因为我们给每一个OC 方法取了一个name,那么我们就可以根据name 来区分执行不同的方法。body 中存着JS 要给OC 传的参数。...调用JS 这里使用WKWebView 实现OC 调用JS方法跟上一篇是一样的,还是利用 - evaluateJavaScript:completionHandler:。...但是使用MessageHandler 就可以避免特殊字符引起的问题。 效果图 ? 更详细的使用步骤还是去工程中查看吧。地址:JS_OC_MessageHandler

    5.3K40

    iOS小技能:WKWebView与JS的交互

    前言 由于目前UIWebView 已经被抛弃了,因此推荐使用WKWebView的WKScriptMessageHandler实现iOS与JS交互 WKWebView是Apple在iOS8推出的Webkit...框架中的负责网页的渲染与展示的类,相比UIWebView速度更快,占用内存更少,支持更多的HTML特性 I JS调用iOS 使用例子:点击页面图片,调用iOS方法进行图片放大显示 1.1 JS代码: window.webkit.messageHandlers.openImage.postMessage...see also iOS利用JSExport协议实现与JS的交互 & android 和js的交互 https://blog.csdn.net/z929118967/article/details/77963082...同层渲染不仅解决了原生组件的层级问题,同时也让原生组件有了更丰富的展示和交互的能力。...与原生网络请求开发一致,NetworkProcess 也是通过封装的 NSURLSession 发起并管理网络请求的。

    7.3K30

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

    WebViewJavascriptBridge是一个有点年代的JS与OC交互的库,使用该库的著名应用还挺多的,目前这个库有7000+star。...第四步、完成HMTL必要的JS代码 由于WebViewJavascriptBridge也是拦截URL来实现的调用原生功能,所以有一些代码跟之前iOS下JS与OC互相调用(一)中的HTML JS代码很相似...到此 利用WebViewJavascriptBridge实现JS 调用iOS Native 就完成了。...总结 利用WebViewJavascriptBridge来实现JS与OC的交互的优点: 1、获取参数时,更方便一些,如果参数中有一些特殊符号或者url带参数,能够很好的解析。...也有一些缺点: 1、做一次交互,需要执行的js 与原生的交互步骤较多,至少有两次。 2、需要花较多的时间,理解WebViewJavascriptBridge的原理和使用步骤。

    3.5K50
    领券