231 votes

Dans Chrome 55, empêcher l'affichage du bouton de téléchargement pour la vidéo HTML 5

Je reçois ce bouton de téléchargement avec les balises dans Chrome 55, mais pas sur Chrome 54: entrer la description de l'image ici

Comment puis-je supprimer cela pour que personne ne puisse voir le bouton de téléchargement dans Chrome 55?

J'ai utilisé la balise pour intégrer cette vidéo sur ma page web. Donc, je veux un genre de code pour supprimer cette option de téléchargement.

Voici mon code actuel:

0 votes

@Makyen vérifiez ce lien si vous utilisez chrome 55, vous le verrez w3schools.com/html/html5_video.asp

0 votes

@Makyen j'ai utilisé la balise vidéo pour intégrer cette vidéo sur ma page web donc je veux un genre de code pour supprimer cette option de téléchargement.

1 votes

Ajoutez l'option controlsList="nodownload" à la balise vidéo

420voto

Remo Points 2402

Google a ajouté une nouvelle fonctionnalité depuis la dernière réponse postée ici. Vous pouvez maintenant ajouter l'attribut controlList comme indiqué ici :

Vous pouvez trouver toutes les options de l'attribut controllist ici :

https://developers.google.com/web/updates/2017/03/chrome-58-media-updates#controlslist

2 votes

L'attribut controlsList sera disponible dans Chrome 58. Au moment de ce commentaire, Chrome 58 n'a pas encore été complètement publié.

0 votes

@KJPrice chrome 58 a été publié le 19 avril, qu'entendez-vous par "pas complètement publié"?

0 votes

Les mises à jour de Chrome sont déployées de manière progressive sur les navigateurs. L'une de mes Mac a la version 58, tandis que l'autre Mac a encore la version 57. D'ici la semaine prochaine, les deux seront probablement en version 58. Hourra pour la magie de l'évergreen!

201voto

Muhammad Zeeshan Points 2282

Ceci est la solution (de cet article)

video::-internal-media-controls-download-button {
    display:none;
}

video::-webkit-media-controls-enclosure {
    overflow:hidden;
}

video::-webkit-media-controls-panel {
    width: calc(100% + 30px); /* Ajustez au besoin */
}

Mise à jour 2 : Nouvelle solution par @Remo

1 votes

Il peut s'agir d'une solution mais il semble que cela puisse changer plus de choses que prévu (par exemple : dans Safari). Voir la réponse "officielle" sans réponse de Chrome : productforums.google.com/forum/#!topic/chrome/1WXSi6BzK9M (espérons qu'ils diront quelque chose à un moment donné...)

3 votes

Je confirme que remplacer "vidéo" par "audio" le rend fonctionnel pour les fichiers audio uniquement.

3 votes

Le message auquel vous faites référence indique que la première règle est quelque chose qu'ils ont essayé mais qui n'a pas fonctionné. Pourquoi ne pas la supprimer de votre réponse?

80voto

Nithin Girish Points 706

À partir de Chrome58, vous pouvez maintenant utiliser controlsList pour supprimer les contrôles que vous ne souhaitez pas afficher. Ceci est disponible pour les baliseset .

Si vous souhaitez supprimer le bouton de téléchargement dans les contrôles, faites ceci :

2 votes

Les utilisateurs peuvent faire un clic droit sur un lien de fichier audio pour télécharger le fichier audio de toute façon. Et puisque le bouton caché et l'URL cachée semblent synonymes, il serait utile si controlsList="nodownload" masquait également les URLs de source audio. Mais l'effet dissuasif de cette solution demeure.

2 votes

@noobninja - Vous avez raison, cette solution ne prévient pas le téléchargement, elle supprime simplement le bouton de téléchargement des contrôles. Empêcher le téléchargement en entier est un sujet différent. Je crois qu'il y a des questions spécifiques à ce sujet, comme celle-ci par exemple.

0 votes

@noobninja Comment Chrome pourrait-il masquer l'URL source de vos fichiers multimédias si vous les passez en tant que sources externes? Ce n'est pas la tâche de Chrome de fournir une sorte de DRM. Vous ne pouvez pas cacher la source d'un fichier audio comme vous ne pouvez pas cacher la source d'un fichier image dans une balise . Si vous voulez protéger votre contenu, vous aurez besoin d'une solution personnalisée et pas d'un simple élément audio HTML5 avec un fichier audio brut servi depuis le serveur.

14voto

Alper Ebicoglu Points 2977

Cela peut masquer le bouton de téléchargement sur Chrome lorsque l'audio HTML5 est utilisé.

 #aPlayer > audio { width: 100% }
/* Chrome 29+ */
@media screen and (-webkit-min-device-pixel-ratio:0)
  and (min-resolution:.001dpcm) {
     /* MASQUER LE BOUTON DE TÉLÉCHARGEMENT AUDIO */
     #aPlayer {
           overflow: hidden;width: 390px; 
    }

    #aPlayer > audio { 
      width: 420px; 
    }
}

/* Chrome 22-28 */
@media screen and(-webkit-min-device-pixel-ratio:0) {

      #aPlayer {
           overflow: hidden;width: 390px; 
        }

    #aPlayer > audio { width: 420px; }
}

Cliquez ici pour voir la capture d'écran

0 votes

La question était pour "vidéo" et c'est "audio". Proche mais devrait vraiment insister là-dessus ou mieux, simplement le changer. De plus, cette réponse exige que l'utilisateur enveloppe l'audio dans une div séparée ou fasse une solution de contournement maladroite, pourquoi ne pas simplement le faire fonctionner pour tout l'audio et le rendre beaucoup plus simple à utiliser?

7voto

Chris Kroon Points 49

Hey j'ai trouvé une solution permanente qui devrait fonctionner dans tous les cas!

Pour le développement web normal

$("video").each(function(){jQuery(this).append('controlsList="nodownload"')}); 

Vidéos HTML5 avec preload sur false

$( document ).ready(function() {
  $("video").each(function(){
    $(this).attr('controlsList','nodownload');
    $(this).load();
  });
});

$ non défini ? --> Mode de débogage!

jQuery("video").each(function(){jQuery(this).append('controlsList="nodownload"')}); 

Vidéos HTML5 avec preload sur false

jQuery( document ).ready(function() {
  jQuery("video").each(function(){
    jQuery(this).attr('controlsList','nodownload');
    jQuery(this).load();
  });
});

Dis-moi si ça t'a aidé!

1 votes

Window.onload = function() { video = document.querySelector('video'); if (video) { video.setAttribute("controlsList", "nodownload"); } }; JavaScript pur

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X