使用条件 ↑
微博 Android 与 iPhone 官方客户端 4.3.0 以上版本的内置浏览器。
初始化事件
网页加载完成时,会向?document
?发送?WeiboJSBridgeReady
?消息,网页需要监听此消息,收到后再访问 JSBridge。
1 2 3 |
|
主动触发初始化 ↑
有时网页加载速度较慢,可能在?DOMContentLoaded
?之后很久 bridge 才会注入。如果对速度要求很高,可以在?DOMContentLoaded
?时主动告诉 native 来注入 bridge,具体方式如下:
- 等待?
DOMContentLoaded
?事件($(document).ready()
) - 生成与 native 通信的?
iframe
?标签。 - 注意将?
iframe
?的?id
?设为?__WeiboJSInvokeIframe
?可以避免 bridge 注入时重复生成。 - 将?
iframe
?的?src
?设为?sinaweibo://bridge_initialize
- 等待?
WeiboJSBridgeReady
?事件
1 2 3 4 5 6 7 8 9 10 |
|
调用Bridge的Action ↑
通过?window.WeiboJSBridge
?的?invoke
?方法来调用 bridge 的 action。
1 2 3 4 5 6 7 8 9 |
|
第一个参数为要调用的 action,第二个为 参数列表,第三个为回调函数。
或者可以为成功失败提供不同的回调方法,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
响应 Event ↑
有时 native 会给网页发送一些通知,网页可以选择性接收。
1 2 3 |
|
Action 列表 ↑
openImage 查看大图
- 参数列表:
url
: 当前选中的图片src;urls
: 当前页面中的所有图片src,用于支持横滑查看
- 返回值:无
- 错误码:
MISSING_PARAMS
😕url
?与?urls
?至少需要传递一个
getNetworkType 获取网络状态
- 参数列表:无
- 返回值:
{"network_type": "wwan"}
,wwan
?代表 2G 或 3G,?wifi
?代表 WIFI,?fail
?代表无网络
scanQRCode 扫描二维码
- 参数列表:无
- 返回值:
{"result": "http://weibo.com"}
- 错误码:
USER_CANCELLED
: 用户取消了扫描SERVICE_FORBIDDEN
: 设备没有摄像头或用户不允许使用摄像头
pickImage 获取照片
- 参数列表:
source
😕camera
?为拍照,其他为从相册选择
- 返回值:
{"base64": "9sa1..."}
- 错误码:
USER_CANCELLED
: 用户取消了选图SERVICE_FORBIDDEN
: 设备没有摄像头或用户不允许选图
getLocation 定位
- 参数列表:无
- 返回值:
{"lat": 100, "long": 100}
- 错误码:
SERVICE_FORBIDDEN
: 定位服务不可用NO_RESULT
: 获取位置失败
queryPreloadCache 获取预加载内容
- 使用条件:
- 仅 weibo.com、weibo.cn 及其子域名可以调用
- 参数列表:
cid
: 内容的id,必需
- 返回值:
{"result": "{'key': 'value'}"}
,result为内容预加载接口返回值 - 错误码:
MISSING_PARAMS
: 未传递?cid
?参数NO_RESULT
: 指定缓存不存在INTERNAL_ERROR
: 缓存读取失败ILLEGAL_ACCESS
: 调用域名无权限访问
deletePreloadCache 删除预加载缓存
- 使用条件:
- 仅 weibo.com、weibo.cn 及其子域名可以调用
- 参数列表:
cid
: 内容的id,必需
- 返回值:无
- 错误码:
MISSING_PARAMS
: 未传递?cid
?参数INTERNAL_ERROR
: 文件删除失败(不包括缓存不存在)ILLEGAL_ACCESS
: 调用域名无权限访问
setBrowserTitle 设置顶导标题
- 参数列表:
title
: 新标题,必需
- 返回值:无
- 备注:通过此方法设置的标题优先级最高
- 错误码:
MISSING_PARAMS
: 未传递?title
?参数
Event 列表 ↑
networkTypeChanged 网络状态改变
- 使用条件:
- 目前仅iPhone支持
- 参数列表:
network_type
: 改变后的状态,wwan
?或?wifi
?或?fail
Status Code 列表 ↑
状态码会在 action 的回调中提供
1 2 3 4 5 6 7 8 |
|
网页通过比对回调的code值和以上值进行处理
1 2 3 |
|
本文转载自:http://beginios.com/javascript/weibo-client-js-api.html