javascript core
可以理解成native往webview context注册了一个全局方法,通过这个方法可以使用一些native提供的能力。
url scheme
系统提供的通过某个特定前缀url拉起app的功能,url的path可以指定功能、query能携带参数。
优点:
- 实现简单
- 行为统一(例如想点击链接创建一个新的webview打开指定页面,可以直接把scehme url赋给a标签的href)
缺点:
- 不支持回调
jsbrigde
- 支持回调
缺点:
- 实现稍微复杂
- 前端需要包装统一调用模块
题外话
jsbridge是通过iframe发出请求的(试了image等媒体标签不行,location.href可以,猜测shouldoverideUrlLoading只会拦截webview的请求),但是处理iframe的时候有些点需要注意。
1 | function openUrl(url){ |