library ที่ใช้กันมานาน ในการ copy text ใดๆ บนหน้าเว็บ เพื่ออำนวยความสะดวกให้กับผู้ใช้ ในการแก้ไข content คือ ZeroClipboard ซึ่งใช้ Flash (SWF) ในการ copy
แต่เนื่องจาก Flash ถูกลดความสำคัญลงมาเรื่อยๆ จนปัจจุบัน การจะรัน Flash บน Chrome นั้นต้องสั่งเปิดเป็นพิเศษ และในอนาคตอาจไม่สามารถใช้งานได้อีกเลย อีกทั้งตัว Flash เองก็มีปัญหาด้านความปลอดภัยอยู่มากมาย
โชคดีที่ Browser ปัจจุบันรองรับ Javascript API ใหม่ๆ เพื่อจัดการกับ content ใน Clipboard ได้ ใครที่มีโอกาสควรปรับโค้ดนะครับ บ๊ายบาย Flash
ดูตัวอย่าง code ได้ใน https://codepen.io/jjoi/pen/NWKpjgm
Reference: https://stackoverflow.com/a/30810322/2580266
Browser รุ่นใหม่ๆส่วนใหญ่รองรับ Clipboard API อยู่แล้ว (navigator.clipboard.writeText()) แต่หากไม่รองรับ ในตัวอย่างจะใช้วิธี fallback โดยการใช้ selector API ร่วมกับ document.execCommand(‘copy’) ตามใน codepen เลยครับ – เคสนี้ยังไม่ได้ทดสอบด้วยตัวเอง
ทริกเล็กๆที่เล่นได้กับ Clipboard คือเราสามารถดักจับ clipboard event (copy, paste) แล้วใส่สิ่งที่เราต้องการไปแทนได้ด้วย ดังในตัวอย่าง https://codepen.io/jjoi/pen/xxKqdJL