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

实现方法

通过实例的on方法监听事件。
demo.on('事件名', function(data) {
    // do something...
})

事件列表

参数说明请参见下表。
事件名 说明 最低支持版本
fileOpen 文档打开,用于文档打开成功或者失败时的事件回调。 1.0.0
error 错误事件,用于错误发生时的事件回调。 1.1.2
tabSwitch PC头部tab切换,用于tab切换时的事件回调。 1.1.2
fileStatus 文件保存状态,用于文件保存时的事件回调。 1.1.5
previewLimit 预览页数限制事件,用于滚动到限制页数底部时的事件回调。

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

1.1.5
hasDocMap 文档是否存在目录,用于文档存在目录时的事件回调。

此事件只支持文字组件。

由于文字获取目录是动态分片获取,因此需要以监听事件方式确定是否存在目录。

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

示例

  • 文件打开
    • 示例
      demo.on('fileOpen', function(data) {
          // do something...
      })
    • 当事件执行成功时,返回结果如下:
      {
          "success": true,
          "time": 111, // 打开时长。
          "fileInfo": {
            createTime: 1586327872,
            modifyTime: 1586327872,
            name: "座位表",
            officeType: "w",
            id: "64784347535"
          }
      }
    • 当事件执行失败时,返回结果如下:
      {
          "success": true,
          "time": 111,
          "reason": "InvalidLink", //错误时会有错误码。
      }
  • 错误事件
    • 示例
      demo.on('error', function(data) {
          // do something...
      })
    • 返回结果
      ```javascript
      {
          "reason": "InvalidLink", //错误时会有错误码。
      }

      更多错误码说明请参见错误码

  • PC头部tab切换
    • 示例
      demo.on('tabSwitch', function(data) {
          // do something...
      })
    • 返回结果
      {
        tabKey: 1 //当前tab的序号。
      }
    • 文件保存状态
      • 示例
        demo.on('fileStatus', function() {
            // do something...
        })
      • 返回结果
        {
          status: 0, //文档无更新。
          status: 1, //版本保存成功。当手动保存、定时保存、关闭网页时触发。 
          status: 2, //暂不支持保存空文件。当内核保存完后文件为空时触发。
          status: 3, //空间已满。
          status: 4, //保存中请勿频繁操作。当服务端处理保存队列已满,正在排队时触发。
          status: 5, //保存失败。
          status: 6, //文件更新保存中。当修改文档内容触发的保存时触发。
          status: 7, //保存成功。当文档内容修改保存成功时触发。
        }
  • 预览页数限制事件
    • 示例
      demo.on('previewLimit', function(result) {
          // do something...
      })
    • 返回结果
      说明 由于文字文档为流式排版,无法获取准确的真实页数,因此返回结果中只有一个total参数。
      //文字文档。
      {
          total: 4 //限制页数。
      }
      //PDF和演示文档。
      {
          total: 4 //限制页数。
          realTotal: 10 //真实总页数。
      }
  • 文档是否存在目录
    示例如下:
    demo.on('hasDocMap', function() {
        //文档存在目录时,则会执行回调。
    }) 
  • 进入或退出全屏事件
    • 示例
      demo.on('fullscreenchange', , function(result) {
          // do something...
      })
    • 返回结果
      {
        status: 0, //退出全屏时触发。
        status: 1, //进入全屏时触发。
      }

错误码

错误码 说明
Unknown 未知错误。
userNotLogin 用户未登录。
InvalidLink 无效链接。
Fail 打开失败。
PermissionDenied 您的操作权限不足。
GetTokenFailed 获取Token失败。
SessionExpired 会话过期。
fileTooLarge 文件过大,不支持预览服务。
GetFileInfoFailed 获取文件信息失败。