GOOGLE ADS

vendredi 29 avril 2022

Cliquez sur un bouton pour copier un texte d'une entrée dans le presse-papiers

j'ai un bouton

entrez la description de l'image ici

Quand j'ai cliqué sur COPIER

copyImageLinkText({ mouseenter, mouseleave }, e) {
this.showCopiedText =!this.showCopiedText
navigator.clipboard.writeText(this.imageLink)
clearTimeout(this._timerId)
mouseenter(e)
this._timerId = setTimeout(() => mouseleave(e), 1000)
},

Cette ligne semble fonctionner parfaitement en local sur mon MacBook Pro

navigator.clipboard.writeText(this.imageLink)

Cela ne fonctionne pas lorsque je le construis et le déploie sur mon serveur de développement.

TypeError : impossible de lire les propriétés de undefined (lecture de 'writeText')

entrez la description de l'image ici


Solution du problème

L'utilisation de navigator.clipboardnécessite une origine sécurisée. Ainsi, si votre environnement de développement est servi via HTTP, la méthode du presse-papiers ne sera pas disponible.

Selon les Clipboarddocs MDN : "Cette fonctionnalité est disponible uniquement dans des contextes sécurisés (HTTPS)"

Peut-être pourriez-vous vérifier si cette méthode est disponible avec window.isSecureContextet désactiver le bouton Copier le texte en conséquence.

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...