全部产品

事件

在 js-sdk 中,可以通过实例的 on 方法监听事件:

instance.on('事件名', (data) => {
  // do something...
});

对应可监听的事件列表有:

事件名

说明

fileOpen

文档打开

error

错误事件

tabSwitch

PC 头部 Tab 切换

fileStatus

文件保存状态

previewLimit

预览页数限制事件

hasDocMap

文档是否存在目录

fullscreenChange

进入或退出全屏事件

fileOpen

  • 描述:文件打开成功或者失败时的事件回调

  • 使用方式

// 文件打开成功或者失败时的事件回调
instance.on('fileOpen', (data) => {
  console.log('文件打开:', data);
});
  • 返回参数

成功:

{
  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

  • 描述:错误发生时的事件回调

  • 使用方式

// 错误发生时的事件回调
instance.on('error',(err)=>{
  console.log('发生错误:',err);
});
  • 返回参数

将 doc 文件改成 xls 文件等操作,会引发报错

{
  reason:"Fail"
}

错误码对应的错误说明:

错误码

说明

Unknown

未知错误

userNotLogin

用户未登录

InvalidLink

无效链接

SessionFull

协作成员已满

Fail

打开失败

PermissionDenied

您的操作权限不足

GetTokenFailed

获取 token 失败

SessionExpired

会话过期

fileTooLarge

文件过大,不支持预览服务

GetFileInfoFailed

获取文件信息失败

fileStatus

  • 描述:文件保存的事件回调

  • 使用方式

// 文件保存的事件回调
jssdk.on('fileStatus', (data) => {
  console.log('文件保存:', data);
});
  • 返回参数

{
  status: 0, // 文档无更新
  status: 1, // 版本保存成功, 触发场景:手动保存、定时保存、关闭网页
  status: 2, // 暂不支持保存空文件, 触发场景:内核保存完后文件为空
  status: 3, // 空间已满
  status: 4, // 保存中请勿频繁操作,触发场景:服务端处理保存队列已满,正在排队
  status: 5, // 保存失败
  status: 6, // 文件更新保存中,触发场景:修改文档内容触发的保存
  status: 7, // 保存成功,触发场景:文档内容修改保存成功
}

webSocketStatus

  • 描述:返回 webSocket 的连接状态

  • 使用方式

// 返回 webSocket 的连接状态
jssdk.on('webSocketStatus', (data) => {
  console.log('webSocket 的连接状态:', data);
});
  • 返回参数

{
  status: '_online', // 已连接
  status:  '_offline', // 已离线
  status: '_close', // 关闭连接
}