ทุกวันนี้มีเบราว์เซอร์ประเภทมากขึ้นเรื่อย ๆ เช่น IE, Firefox, Chrome, Safari ฯลฯ ดังนั้นจึงไม่ใช่เรื่องง่ายที่จะใช้ฟังก์ชั่นเล็ก ๆ ของการคัดลอกเนื้อหาไปยังคลิปบอร์ดด้วย JS
ใน Flash 9 ERA มีวิธีแก้ปัญหาการคัดลอกเนื้อหา JS ของเบราว์เซอร์ทั้งหมดไปยังคลิปบอร์ด :
โซลูชันนี้เป็นหนึ่งในวิธีที่ได้รับความนิยมมากที่สุด: โซลูชันการคัดลอกคลิปบอร์ดที่มีชื่อเสียงใช้คลิปบอร์ด SWF เป็นสะพานเชื่อมเนื้อหาไปยังคลิปบอร์ด
หลักการคือ: สร้างไฟล์แฟลชที่ซ่อนอยู่และในเวลาเดียวกันกำหนดค่า "clipboard = .. " ให้กับแฟลชตัวแปรแฟลช ผ่านการมอบหมายนี้เนื้อหาที่คัดลอกจะถูกวางไว้บนคลิปบอร์ด วิธีนี้เข้ากันได้กับ IE, Firefox, Opera, Chrome และ Safari และเป็นวิธีแก้ปัญหา "สากล" อย่างแท้จริง อัตราการติดตั้งของแฟลชเบราว์เซอร์สูงมากซึ่งเกือบจะเป็นทางออกที่สมบูรณ์แบบ
การคัดลอกรหัสมีดังนี้:
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title> ผู้พัฒนาเว็บ- www.admin10000.com </title>
<meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
<script type = "text/javascript">
var clipboardswfdata;
var setCopy_getText = function () {
clipboardswfdata = document.getElementById ('test_text') ค่า;
// Alert (clipboardswfdata);
window.document.clipboardswf.setVariable ('str', clipboardswfdata);
-
var floatwin = function () {
การแจ้งเตือน ('คัดลอกสำเร็จ!');
//document.getElementByid('Clipinner').style.display = 'ไม่มี';
-
</script>
</head>
<body>
<textarea id = "test_text" rows = "15" cols = "100"> เนื้อหาข้อความ ..... </textarea>
<div id = "clipboard_content">
<div> <span id = "clipinner"> คัดลอกรหัสไปยังคลิปบอร์ด
<embed name = "clipboardswf" id = "clipboardswf" onMouseOver = "setCopy_getText ()" deviceFont = "false" src = "./_ clipboard.swf" เมนู = "FALSE" FELTECTACCESS = "SAMEDOMAIN" SWLIVECONNECT = "True"
</span>
</div>
</div>
</body>
</html>
ที่อยู่ดาวน์โหลดของ clipboard.swf: http://www.jeffothy.com/weblog/uploads/clipboard.php
แต่ใน Flash 10 ERA วิธีข้างต้นไม่สามารถทำได้อีกต่อไป
เนื่องจาก Flash10 กำหนดว่าเฉพาะการดำเนินงานจริงบน SWF (เช่นการคลิกเมาส์) สามารถเข้าถึงคลิปบอร์ดได้ในขณะที่วิธีการด้านบนใช้ไฟล์ SWF ที่ซ่อนอยู่เท่านั้นและใช้งานคลิปบอร์ดแฟลชผ่าน JavaScript ผู้ใช้ไม่ได้ดำเนินการจริงในไฟล์ SWF ดังนั้นวิธีนี้ไม่ถูกต้อง
ดังนั้นวิธีการแก้ปัญหา "การดำเนินการจริง" นี้? คุณสามารถใช้ไลบรารี JavaScript: Zero Clipboard ไลบรารี JS นี้สามารถรองรับแฟลช 10 คัดลอกไปยังคลิปบอร์ด หลักการของวิธีนี้คือการเขียนทับองค์ประกอบ DOM เช่นปุ่มหรือ div บนแฟลชโปร่งใส (ไม่สามารถมองเห็นได้สำหรับผู้ใช้) เมื่อคลิก DOM นี้การคลิกแฟลชจริงคือการเข้าถึงคลิปบอร์ดแฟลช
นี่คือตัวอย่างของการดีบัก:
การคัดลอกรหัสมีดังนี้:
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title> การทดสอบคลิปบอร์ดเป็นศูนย์ </title>
<meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
<script type = "text/javascript" src = "zeroclipboard.js"> </script>
<script type = "text/javascript">
var clip = null;
ฟังก์ชั่น $ (id) {return document.getElementById (id); -
ฟังก์ชัน init () {
clip = new Zeroclipboard.client ();
Clip.SethandCursor (จริง);
clip.addeventListener ('mouseover', ฟังก์ชั่น (ไคลเอนต์) {
// อัปเดตข้อความบนเมาส์มากกว่า
clip.settext ($ ('fe_text'). ค่า);
-
clip.addeventListener ('เสร็จสมบูรณ์', ฟังก์ชั่น (ไคลเอนต์, ข้อความ) {
// debugstr ("ข้อความคัดลอกไปยังคลิปบอร์ด:" + ข้อความ);
การแจ้งเตือน ("ที่อยู่นี้ได้รับการคัดลอกคุณสามารถวางด้วย Ctrl+v.");
-
clip.glue ('clip_button', 'clip_container');
-
</script>
</head>
<body onload = "init ()">
<อินพุต id = "fe_text" cols = "50" rows = "5" value = "คัดลอกข้อความเนื้อหา">
<span id = "clip_container"> <span id = "clip_button"> <strong> คัดลอก </strong> </span> </span>
</body>
</html>
คลิกเพื่อดาวน์โหลดไลบรารีนี้: //www.vevb.com/jiaoben/24961.html
โปรดอัปโหลดไปยังเว็บไซต์ระหว่างการดีบัก หากคุณเปิดแฟลชโดยตรงในพื้นที่จะมีข้อผิดพลาดและไม่มีการอนุญาต คุณสมบัติ MoviePath ในไฟล์ Zeroclipboard.js เป็นที่อยู่ของ Falsh ซึ่งเป็นตำแหน่งที่อยู่ที่ zeroclipboard.swf ถูกเก็บไว้ในไดเรกทอรี
โซลูชันนี้ในการคัดลอกเนื้อหาไปยังคลิปบอร์ดสามารถรองรับเบราว์เซอร์: Firefox/IE/Opera/Chorme/Safari เบราว์เซอร์ทั้งหมด!