【kintoneカスタマイズ】添付ファイルから動画をダウンロードさせたくないときに使える「右クリック禁止」のカスタマイズ

添付ファイルには、PDFや音声ファイル、動画ファイルなども保存でき非常に便利です。

TISさんのプラグインなどを使うと、ダウンロードせずに動画を再生できるので非常に重宝しています。ただ、動画そのものを閲覧専用としておきたい、ダウンロードしないでほしいという要望があったとき、このプラグインだけでは止めることができないのもまた事実。

TISさんのプラグインはどれも非常に優秀なので、添付ファイルのプレビューアプリに、ダウンロードさせたくないとき、ポップアップでのダウンロードを禁止するという設定があります。

ただ、これって、ポップアップした状態でダウンロードさせないというだけであり、ダウンロードそのものを禁止しているわけではないんですよね。

現に、添付ファイルのリンクを右クリックすると保存するメニューが出てきます。

ならば、このメニューもjavascriptで出ないように制御すればいいんじゃないかと実装したのが今回のコードになります。

以下はフィールドコード「file」という添付ファイルのフィールドでは、右クリックを禁止するというコードになります。

イベントハンドラは、詳細表示のときにしています。

//イベント
app.record.detail.show

実装の意味合いとしては
イベントリスナーの追加: 特定のフィールドにイベントリスナーを追加して、右クリック(contextmenu イベント)を検知します。

イベントの防止: 右クリックが検知された場合、デフォルトの動作(コンテキストメニューの表示)をキャンセルします。

これだけです。

これをコードにすると。

kintone.events.on('app.record.detail.show', function(event) {
    var record = event.record;
    var fieldElement = kintone.app.record.getFieldElement('file');

    if (fieldElement) {
        fieldElement.addEventListener('contextmenu', function(e) {
            e.preventDefault();
        });
    }

    return event;
});

になります。

備忘録として残しております。同じように課題を持った方の力に少しでもなれればうれしいです。

ただ、これだとまだダウンロードすることを完全に防げていないので、さらに根本的な対策を検討中です。

よろしければサポートをお願いいたします! いただいたサポートは活動費、活動応援費として使用させていただきます。より多くの人の健康のために!