j'ai un bouton
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')
Solution du problème
L'utilisation de navigator.clipboard
né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 Clipboard
docs 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.isSecureContext
et désactiver le bouton Copier le texte en conséquence.
Aucun commentaire:
Enregistrer un commentaire