新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代码中的(%@),否则运行失败!
个人总结,不喜勿喷!!