文档

为组件开启事件监听,当组件发生指定事件时,系统执行相应的操作。

实现方式

在JS-SDK中,通过实例的on方法监听事件。

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

事件列表

可用于监听的事件请参见下表。

事件名

描述

最低支持版本

fileOpen

文件打开成功或者失败时的事件回调。

1.0.0

error

错误发生时的事件回调。

1.1.2

tabSwitch

PC头部Tab切换。

1.1.2

fileStatus

文件保存状态,用于文件保存的事件回调。

1.1.5

previewLimit

预览页数限制事件,用于滚动到限制页数底部时的事件回调。

此事件只在预览页数限制模式下有效,且只支持WORD、PDF以及PDF组件。

1.1.5

hasDocMap

文档是否存在目录。

1.1.5

fullscreenChange

进入或退出全屏事件。

1.1.5

fileNameChange

文件名重命名的事件回调。

1.1.9

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

错误发生时的事件回调。

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

  • 示例

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

    {
      reason:"Fail"
    }

tabSwitch

PC头部tab切换,用于tab切换时的事件回调。

  • 示例

    instance.on('tabSwitch', function(data) {
        //do something...
    })
  • 返回参数

    {
      tabKey: 1 //当前tab的序号。
    }

fileStatus

文件保存的事件回调。

  • 示例

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

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

hasDocMap

文档是否存在目录。

示例
instance.on('hasDocMap', function() {
    //文档存在目录时,则会执行回调。
}) 

fullscreenchange

进入或退出全屏事件,用于进入或退出全屏时的事件回调。

  • 示例

    instance.on('fullscreenchange', , function(result) {
        //do something...
    })
  • 返回结果

    {
      status: 0, //退出全屏时触发。
      status: 1, //进入全屏时触发。
    }

fileNameChange

文件名重命名的事件回调。

  • 示例

    //文件名重命名的事件回调
    jssdk.on('fileNameChange', (e) => {
      console.log('新的文件名为:', e.fileName);
    });
  • 返回参数

    当文件重命名(成功)后,会返回新文件名。

    { fileName: "NewWebOffice" }

错误码

错误码

说明

Unknown

未知错误。

userNotLogin

用户未登录。

InvalidLink

无效链接。

SessionFull

协作成员已满。

Fail

打开失败。

PermissionDenied

您的操作权限不足。

GetTokenFailed

获取token失败。

SessionExpired

会话过期。

fileTooLarge

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

GetFileInfoFailed

获取文件信息失败。

  • 本页导读 (1)
文档反馈