html和native使用JSBridge交互

网页通过webview加载,webview作为native和js交互的中介
ios
ios调用js

webview.stringByEvaluatingJavaScriptFromString:返回js脚本的执行结果

// Swift
webview.stringByEvaluatingJavaScriptFromString("swiftcalljs()")  

js调用ios
jsbridge://开头的请求在native层进行调用逻辑
通过新建iframe(location.href只会处理多个请求的最后一个)

var url = 'jsbridge://doAction?title=分享标题&desc=分享描述&link=http%3A%2F%2Fwww.baidu.com';  
var iframe = document.createElement('iframe');  
iframe.style.display = 'none';  
iframe.src = url;  
document.body.appendChild(iframe);  
setTimeout(function() {  
    iframe.remove();
}, 100);

Android
Native调用js

webView.loadUrl("javascript:javacalljs()");

js调用native
JavaScriptInterface类定义了js可以调用的方法

//js端
JSInterface.changeActivity();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值