Bloquer ou détecter les téléchargements sur les iframes
P粉819533564
P粉819533564 2023-08-31 21:35:46
0
1
869
<p>J'ai rencontré un problème qui m'est très courant, mais je n'ai pas trouvé la bonne solution. </p> <p>J'ai un document qui s'affiche via une iframe. Il y a une barre d'outils en haut où les utilisateurs finaux peuvent télécharger des documents. Maintenant, je souhaite enregistrer des informations sur le téléchargement (j'aurai donc peut-être besoin de certains événements) ou désactiver l'option de téléchargement. </p> <p>Je sais que je peux désactiver toute la barre d'outils en ajoutant #toolbar=0, mais l'utilisateur final peut la modifier lui-même tout en téléchargeant la documentation sans la consigner, ce n'est donc pas une solution appropriée pour moi. ≪/p >
P粉819533564
P粉819533564

répondre à tous(1)
P粉369196603

Si vous cochez iframe 不感兴趣,则可以使用 embedobject pour empêcher de telles barres d'outils d'apparaître.

Avec les iframes, si vous souhaitez désactiver la fonctionnalité de téléchargement, vous risquez de vous retrouver avec un contenu spécifique au navigateur, car différents navigateurs convertiront l'iframe en différents éléments pour restituer réellement le PDF. Si vous savez exactement à quel navigateur vous avez affaire, vous pouvez essayer de dissocier l'écouteur du bouton de téléchargement, voici une solution que j'ai testée sous Chrome et qui semble fonctionner :

var old_element = document.getElementById("viewer").shadowRoot.getElementById("toolbar").shadowRoot.getElementById("downloads").shadowRoot.getElementById("download");
var new_element = old_element.cloneNode(true);
old_element.parentNode.replaceChild(new_element, old_element);

Merci à Ben D pour sa réponse à cette question sur la suppression de l'écouteur, si vous souhaitez suivre la voie de la journalisation, vous pouvez remplacer les étapes cloneNode et replaceChild par addEventListener. Je pense que cela posera toujours des problèmes aux utilisateurs suffisamment avertis/déterminés pour pouvoir télécharger le PDF (voir informations supplémentaires sur cet article : https://www.w3docs.com/snippets/html/how-to-embed -pdf-in -html.html), donc en fonction de votre objectif final, je vous recommande de présenter un aperçu d'image statique du PDF aux utilisateurs invités, tandis que la visionneuse complète peut être limitée aux utilisateurs connectés.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!