1. 程式人生 > >谷歌瀏覽器使用複製的功能

谷歌瀏覽器使用複製的功能

在文字複製的時候,Ie和谷歌是不能同時使用 window.clipboardData,物件的,該功能IE可以使用,但是谷歌是不能使用的,所以要使用下面的外掛來進行操作: ZeroClipboard.js和ZeroClipboard.swf這兩個包,來進行操作。

如果這連個檔案不在同一個目錄下,可是在 new ZeroClipboard 物件之後呼叫,ZeroClipboard.setMoviePath('ZeroClipboard10.swf' );進行設定swf檔案所在的目錄。

案例的git地址:https://gitee.com/sgqing/google_browser_text_copy.git

<html>
<head>
    <title>Zero Clipboard Test</title>
    <script type="text/javascript" src="ZeroClipboard.js"></script>
    <script language="JavaScript">
        var clip = null;

        // 獲取你要複製的內容
        function $(id) {
            return document.getElementById(id);
        }

        function init() {
            //建立物件
            clip = new ZeroClipboard.Client();
            //是否支援複製
            clip.setHandCursor(true);
            // 當滑鼠移到要點選的物件上面的時候,就會觸發
            clip.addEventListener('mouseOver', function (client) {
                // //     // update the text on mouse over
                clip.setText($('fe_text').value);
            });
            // clip.setText($('fe_text').value);
            // 會監聽,當賦值完成之後,就會執行該方法
            clip.addEventListener('complete', function (client, text) {
                //debugstr("Copied text to clipboard: " + text );
                alert("該地址已經複製,你可以使用Ctrl+V 貼上。");
            });
            // 用於指定當前的flash執行在什麼地方,一般是點選的地方
            clip.glue('clip_button');
        }
    </script>
</head>
<!--// 一定要進行資料的初始化,要不然在使用的時候,需要點選兩次才可以完成資料的賦值-->
<body onLoad="init()">

<textarea id="fe_text" cols=50 rows=5>複製內容文字1</textarea>
<span id="clip_container"><span id="clip_button"><b> 複製</b></span></span>

<br>
</body>
</html>

特別提醒,在使用的時候,首先需要對上面的方法,進行初始化,要不然需要點選兩次才可以完成資料的複製,注意在複製的時候,保證glue方法,不會操作同一個物件,要不然只會操作第一次的資料