iframe でのダウンロードをブロックまたは検出する
P粉819533564
P粉819533564 2023-08-31 21:35:46
0
1
1009
<p>私にとって非常に一般的な問題に遭遇しましたが、正しい解決策が見つかりませんでした。 </p> <p>iframe 経由で表示されるドキュメントがあります。上部にはツールバーがあり、エンドユーザーはここからドキュメントをダウンロードできます。次に、ダウンロードに関する情報をログに記録するか (いくつかのイベントが必要になる可能性があります)、ダウンロード オプションを無効にします。 </p> <p>#toolbar=0 を追加することでツールバー全体を無効にできることはわかっていますが、エンド ユーザーは自分で変更でき、ドキュメントをログに記録せずにダウンロードできるため、これは私にとって適切な解決策ではありません。 </p>
P粉819533564
P粉819533564

全員に返信(1)
P粉369196603

iframe に興味がない場合は、embed または object タグを使用して、そのようなツールバーが表示されないようにすることができます。

iframe を使用する場合、ダウンロード機能を無効にしたい場合は、ブラウザー固有の設定になる可能性があります。これは、ブラウザーが異なれば iframe を異なる要素に変換して実際に PDF をレンダリングするためです。扱っているブラウザが正確にわかっている場合は、ダウンロード ボタンからリスナーのバインドを解除してみてください。これは私が Chrome でテストした解決策であり、機能するようです:

リーリー

リスナーの削除に関するこの質問

に対する Ben D の回答に感謝します。ロギング ルートをたどる場合は、cloneNode および replaceChild ステップを addEventListener に置き換えることができます。これは、PDF をダウンロードできるほど精通した/決意のあるユーザーにとっては、依然として問題を引き起こすと思います (この投稿の追加情報を参照してください: https://www.w3docs.com/snippets/html/how-to) -embed-pdf -in-html.html) なので、最終目標に応じて、PDF の静的画像プレビューをゲスト ユーザーに表示し、完全なビューアはログイン ユーザーに制限される可能性があることをお勧めします。 。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート