ทำปุ่มคัดลอกลงคลิปบอร์ด

เมื่อเราใช้เมาส์ทำ HighLight บนข้อความแล้วกดปุ่ม Crtl+C เพื่อคัดลอกข้อความไว้ใน ClipBoard ซึ่งเป็นพื้นที่สำหรับจดจำข้อมูลชั่วคราวแบบหมุนเวียนใช้ได้ทั้งภายในและภายนอกซอฟต์แวร์ได้ด้วย การทำแบบนี้ง่ายมากในกรณีที่เรากดเอง แต่หากจะให้มันคัดลอกโดยอัตโนมัติแล้วก็หลีกไม่พ้นที่ต้องเขียนโปรแกรม ในงานเว็บแอพพลิเคชั่นผมนึกถึง front end programming อย่าง javascript ทันที และเมื่อลงมือค้นก็พบว่ามันก็ไม่มีอะไรยาก เมื่อมี “window.clipboardData.setData” ให้ใช้แต่ปัญหามันไม่จบครับ เพราะหากเป็น Browser ตัวอื่นมันไม่ยอมให้ทำแบบนั้นครับ อันเนื่องมาจากปัญหาเรื่องความปลอดภัยข้อมูล (อ้าวแล้ว IE ไม่ปลอดภัยสิงั้น #ก็ว่ากันไป #มันมีอีกหลายเรื่อง #ยังไม่ใช่ข้อสรุป)

มาถึงทางรอดเลยดีกว่า นักพัฒนาหลายๆท่านจะรู้จักภาษา (ใช่ภาษามั๊ยนะ) Action Script ใน Flash ใช่ไหมครับ เจ้าตัวนี้ Browser หลายๆตัวพวกนั้นกลับยอมรับและมันมีคำสั่ง System.setClipboard ด้วยดังนั้นเราสามารถเลี่ยงการเขียนลง Clipboard โดยตรงที่เค้าไม่ยอมรับ มาเข้าทางที่ว่านี้แทน โดยเรื่องนี้ก็มีคนทำ JavaScript สำหรับส่งค่าให้ Flash เอาลง clipboard แทนเว็บเบราว์เซอร์ไว้ให้เราใช้กันแล้วชื่อว่า zeroclipboard

เรื่องพวกนี้ถ้าไม่ลองทำ ไม่เจอปัญหา ก็ไม่ได้รู้หรอกว่าบางอย่างมันไปตรงๆไม่ได้ (T_T)

made button to copy to clipboard with zeroclipboard
website : http://zeroclipboard.org/
github : https://github.com/zeroclipboard/zeroclipboard
jsfiddle : http://jsfiddle.net/surakrai/Xn29M/

อีกเทคนิคนึง เค้าใช้ jQuery ครับเด็ดดีเหมือนกัน

แสดงความคิดเห็น

0 ความคิดเห็น