このトピックでは、コンポーネントのイベントリスニングを有効にする方法について説明します。コンポーネントで特定のイベントが発生すると、システムは自動的に対応する操作を実行します。
実装方法
WebOffice SDK for JavaScript では、インスタンスの on メソッドを使用してイベントリスニングを有効にします。
instance.on ('Event name', (data) => {
//何かを実行する...
});イベント
次の表に、リスニングできるイベントを示します。
イベント名 | 説明 | 最も古い SDK バージョン |
|---|---|---|
fileOpen | ファイルオープンイベントのコールバック。 | 1.0.0 |
error | エラーイベントのコールバック。 | 1.1.2 |
tabSwitch | タブ切り替えイベントのコールバック。 | 1.1.2 |
fileStatus | ファイル保存イベントのコールバック。このイベントは、ファイルが保存されたときにトリガーされます。 | 1.1.5 |
previewLimit | プレビュー制限イベントのコールバック。このイベントは、制限されたページの下部にスクロールしたときにトリガーされます。 このイベントは、プレビューページ数が制限されている場合にのみ有効であり、Word、PPT、および 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: "失敗", result: "失敗" }
error
エラーイベントのコールバック。
たとえば、Microsoft Word ファイルのファイル名拡張子を doc から xls に変更すると、エラーが発生します。
例
// エラーイベントのコールバック instance.on('error',(err)=>{ console.log ('エラーが発生しました:',err); });
レスポンスパラメーター
{ reason:"失敗" }
tabSwitch
タブ切り替えイベントのコールバック。このイベントは、タブが切り替わったときにトリガーされます。
例
instance.on('tabSwitch', function(data) { //何かを実行する... })レスポンスパラメーター
{ tabKey: 1 // 現在のタブの番号。 }
fileStatus
ファイル保存イベントのコールバック。
例
// ファイル保存イベントのコールバック。 jssdk.on('fileStatus', (data) => { console.log ('ファイル保存:', data); });
レスポンスパラメーター
{ status: 0, // ファイルは更新されていません。 status: 1, // バージョンが保存されました。トリガー条件:手動保存、スケジュールされた時刻でのファイルの保存、Web ページが閉じられたときの自動保存。 status: 2, // ファイルは空で、保存できません。トリガー条件:カーネルが保存された後、ファイルが空です。 status: 3, // ストレージ容量が不足しています。 status: 4, // ファイルの保存中は、頻繁なファイル保存操作は許可されていません。トリガー条件:サーバーの保存操作キューがいっぱいです。 status: 5, // ファイルの保存に失敗しました。 status: 6, // ファイルを保存しています。トリガー条件:ファイルを更新します。 status: 7, // ファイルは正常に保存されました。トリガー条件:ファイルの内容を変更します。 }
hasDocMap
ファイルに目次があるイベントのコールバック。
instance.on('hasDocMap', function() {
// ファイルに目次がある場合、コールバックが呼び出されます。
}) fullscreenchange
ファイルが全画面モードに切り替わる、または全画面モードを終了するイベントのコールバック。
例
instance.on('fullscreenchange', , function(result) { //何かを実行する... })
レスポンスパラメーター
{ status: 0, // ファイルは全画面モードを終了します。 status: 1, // ファイルは全画面モードに入ります。 }
fileNameChange
ファイル名変更イベントのコールバック。
例
// ファイル名変更イベントのコールバック。 jssdk.on('fileNameChange', (e) => { console.log ('新しいファイル名:', e.fileName); });
レスポンスパラメーター
ファイルの名前変更が成功すると、新しいファイル名が返されます。
{ fileName: "NewWebOffice" }
エラーコード
エラーコード | 説明 |
|---|---|
Unknown | 不明なエラーが発生しました。 |
userNotLogin | ユーザーはログオンしていません。 |
InvalidLink | リンクが無効です。 |
SessionFull | 共同作業者の数が上限に達しました。 |
Fail | ファイルを開けませんでした。 |
PermissionDenied | この操作を実行する権限がありません。 |
GetTokenFailed | リクエストトークンの取得に失敗しました。 |
SessionExpired | セッションの有効期限が切れました。 |
fileTooLarge | ファイルサイズが大きすぎるため、ファイルをプレビューできません。 |
GetFileInfoFailed | ファイル情報の取得に失敗しました。 |