Site original : Sam & Max: Python, Django, Git et du cul
Dans 0bin on utilise encore flash pour faire le copier/coller, et je pense qu’on va le virer. Plus de raison de supporter les navigateurs trop vieux, et après tout c’est pas grave de se voir refuser un raccourci pour copier/coller : le reste est utilisable.
Pourquoi je vous dis ça ?
Et bien parce que sebsauvage a partagé un snippet pour utiliser l’API du clipboard en JS. Et j’ai donc voulu savoir comment détecter que cette functionalité est implémentée par le navivateur en cours.
Je suis donc allé voir les sources de mondernizr, et il implémente en fait une combinaisons de 2 techniques.
D’abord, vérifier si l’objet window
à un attribut ClipboardEvent
. Si oui, c’est réglé. Si non, il créé un div
, on check si il a il a un attribut paste
. Le reste sont les hacks de compatibilé avec les très vieux navs que je ne vais pas retranscrire ici.
Donc en gros, avant de faire un copier/coller en JS, vérifiez:
function implementClipboardAPI(){ try { return (!!window.ClipboardEvent || 'onpaste' in document.createElement('div')); } catch(e) { return false; } } |