主题
监听公共事件
fileOpen
文档打开成功或者失败时的事件回调
jssdk.ApiEvent.AddApiEventListener("fileOpen", (data) => {
console.log("fileOpen: ", data);
});
注意:该事件需要在 jssdk.ready()
之前进行注册
成功时的返回参数:
{
duration: 812,
fileInfo: {
createTime: 1606461829,
id: "94749723688",
modifyTime: 1606461829,
name: "userName",
officeType: "s",
},
stageTime: 1614,
success: true,
time: 1614,
ts: 1607858260164,
}
失败时的返回参数:
{
msg: "Fail",
result: "Fail"
}
error
错误发生时的事件回调
例如将 doc
文件改成 xls
文件等操作,会引发报错
jssdk.ApiEvent.AddApiEventListener("error", (data) => {
console.log("error: ", data);
});
返回参数:
{
reason: "Fail";
}
tabSwitch
文档 Tab 切换的事件回调
jssdk.ApiEvent.AddApiEventListener("tabSwitch", (data) => {
console.log("tabSwitch: ", data);
});
返回参数:
// 以 Excel 为例:
{
tabKey: "InsertTab",
tabKey: "StartTab",
// ……更多状态看具体 tab
}
fileStatus
文件保存的事件回调
jssdk.ApiEvent.AddApiEventListener("fileStatus", (data) => {
console.log("fileStatus: ", data);
});
返回参数:
{
status: 0, // 文档无更新
status: 1, // 版本保存成功, 触发场景:手动保存、定时保存、关闭网页
status: 2, // 暂不支持保存空文件, 触发场景:内核保存完后文件为空
status: 3, // 空间已满
status: 4, // 保存中请勿频繁操作,触发场景:服务端处理保存队列已满,正在排队
status: 5, // 保存失败
status: 6, // 文件更新保存中,触发场景:修改文档内容触发的保存
status: 7, // 保存成功,触发场景:文档内容修改保存成功
}
previewLimit
预览页数限制事件,当滚动到限制页数底部时触发事件
此事件只在预览页数模式下有效,仅支持 Word
、PPT
和 PDF
组件
jssdk.ApiEvent.AddApiEventListener("previewLimit", (data) => {
console.log("previewLimit: ", data);
});
返回参数:
// 文字
// 由于文字文档是流式排版,无法获取准确的真实页数,因此回调只有 total 一个参数
{
total: 4; // 限制页数
}
// PPT 以及 PDF
{
total: 4; // 限制页数
realTotal: 10; // 真实总页数
}
hasDocMap
文档是否存在目录,如果存在目录则会执行回调。
此事件只存在于文字组件(Word),由于文字获取目录是动态分片获取,因此需要以监听事件方式确定是否存在目录。
jssdk.ApiEvent.AddApiEventListener("hasDocMap", (data) => {
console.log("hasDocMap: ", data);
});
fullscreenchange
进入或者退出全屏时会执行回调
如果在 commonOptions
下配置了 isBrowserViewFullscreen
或者 isIframeViewFullscreen
,此项监听会无效。
jssdk.ApiEvent.AddApiEventListener("fullscreenchange", (data) => {
console.log("fullscreenchange: ", data);
});
返回参数:
{
status: 0, // 退出全屏
status: 1, // 进入全屏
}
webSocketStatus
返回 webSocket 的连接状态
jssdk.ApiEvent.AddApiEventListener("webSocketStatus", (data) => {
console.log("webSocketStatus: ", data);
});
返回参数:
{
status: '_online', // 已连接
status: '_offline', // 已离线
status: '_close', // 关闭连接
}
fileNameChange
文件名重命名的事件回调
当文件重命名(成功)后,会将新文件名返回出来。
jssdk.ApiEvent.AddApiEventListener("fileNameChange", (data) => {
console.log("fileNameChange: ", data);
});
返回参数:
{
fileName: "NewWebOffice";
}
filePasswordStatus
监听加密文件的密码相关状态
注意:该事件需要在 jssdk.ready()
之前进行注册
jssdk.ApiEvent.AddApiEventListener("filePasswordStatus", (data) => {
console.log("filePasswordStatus: ", data);
});
返回参数:
{
status: 'NeedPassword', // 需要输入密码
status: 'InvalidPassword', // 密码验证错误
}
ModelVisible
模态框打开和关闭时触发,例如「更多 ➜ 打印」
jssdk.ApiEvent.AddApiEventListener("ModelVisible", (data) => {
console.log("ModelVisible: ", data);
});
OnBroadcast
接收全局广播,用于多人协作场景。
jssdk.ApiEvent.AddApiEventListener("OnBroadcast", (data) => {
console.log("OnBroadcast: ", data);
});