ios UIWebView中js交互(三)

新GET一种处理ios中UIWebView与js交互的方法,写出来跟大家分享一下!!!

该方法借用了ios的JavaScriptCore这个库,从加载好的网页中获取ios端想要的参数。

如图就是借用JSContext这个类的实例对象获取网页对应的js文件的内容,其中context[@"share"]这个share就是ios与网页js文件约定的一个方法函数名。

而且在写js时,这个share()并不需要真正实现,如果报错的话可以写一个空方法 function share(){};  来声明一下就行,哦要注意的是,如果你在这个share方法写了内容,这个内容是不执行的(试了N次的结论)。

而里面的具体参数的个数和设置什么样的参数可以根据自己的需要设置,[JSContext currentArguments];返回的就是我们需要的参数数组,JSValue的父类是NSObject,jsVal.toString返回的都是字符串。

当然以上内容是js方法调用oc。

如果是oc调用js,

[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"showAlert('%@')",@"oc调用了js的内容"]];     // ----> oc代码

function showAlert(msg){alert(msg);}    // -----> js代码

要注意的是在oc写showAlert方法名和参数拼接时,是这样的('%@')而不是通常oc代码中的(%@),否则运行失败!

个人总结,不喜勿喷!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 随着H5技术的兴起,在iOS开发过程中,难免会遇到原生应用需要和H5页面交互的问题。其中会涉及方法调用及参数传值等...
    Chris_js阅读 3,126评论 1 8
  • 跟原生开发相比,H5的开发相对来一个成熟的框架和团队来讲在开发速度和开发效率上有着比原生很大的优势,至少不用等待审...
    大冲哥阅读 1,867评论 0 7
  • 前言 iOS开发中,用来显示一个html页、H5页,经常会用的一个控件是WebView。说到WebView,你知道...
    Dark_Angel阅读 23,519评论 31 287
  • 早上好像有点安静,自动喂食器准时响起“哈维,快来吃饭饭啦,哈维,哈维,么么哒", 连着喊了三遍,没有听到一点动静。...
    只是只是阅读 211评论 0 0
  • 开始好味 好味是以一个台湾老字号酱瓜品牌-爱之味为蓝本,重新塑造品牌形象,融入现代设计,以进一步扩展海外市场为目标...
    懿木智库阅读 302评论 0 0