JS与UIWebview交互原理摘记(WebViewJavascriptBridge)

最近用到了 WebViewJavascriptBridge这个库来与JS交互。

由于没用过js,也没有什么web端的开发经验,竟然一直对这库的原理表示不解,面试时候被问及,囧了好久。

为了弥补下我受伤的心灵,特此写下此贴。

 

UIWebView交互JS,很简单,直接调用webView的API,[webViewstringByEvaluatingJavaScriptFromString:@""];

就可以实现调用js的代码。原理应该是在页面中提前注入了类似于delegate的js代码,然后通过调用bridge的js代码来运行部署于页面内的函数。

 

至于JS交互UIWebView,是通过实现webView的delegate,通过在 

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

中识别出自定义的URL区分处理,就可以读取到JS的消息啦

 

看了源码后感觉实现原理挺简单的,感觉自己的经验还是不足呀。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值