亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 軟件應用 > 正文

使用ZeroClipboard解決跨瀏覽器復制到剪貼板的問題

2024-09-06 19:16:58
字體:
來源:轉載
供稿:網友

Zero Clipboard的實現原理

Zero Clipboard 利用透明的Flash讓其漂浮在復制按鈕之上,這樣其實點擊的不是按鈕而是 Flash ,這樣將需要的內容傳入Flash,再通過Flash的復制功能把傳入的內容復制到剪貼板

Zero Clipboard的安裝方法

首先需要下載 Zero Clipboard的壓縮包,解壓后把文件夾中兩個文件:ZeroClipboard.js 和 ZeroClipboard.swf 放入到你的項目中。

然后把在你要使用復制功能的頁面中引入Zero Clipboard的js文件:ZeroClipboard.js
如下代碼:

復制代碼 代碼如下:

<script type="text/javascript" src="ZeroClipboard.js"></script>

注意:以上 ZeroClipboard.js, ZeroClipboard.swf需要放在同一路徑下。如果不在同一路徑,可使用ZeroClipboard.setMoviePath( “Flash路徑” );來設置ZeroClipboard.swf 地址

復制代碼 代碼如下:

Zero Clipboard實現簡單跨瀏覽器復制
var clip = new ZeroClipboard.Client(); // 新建一個對象
clip.setHandCursor( true ); // 設置鼠標為手型
clip.setText("哈哈"); // 設置要復制的文本。
// 注冊一個 button,參數為 id。點擊這個 button 就會復制。
//這個 button 不一定要求是一個 input 按鈕,也可以是其他 DOM 元素。
clip.glue("copy-botton"); // 和上一句位置不可調換

這樣,這樣基本功能實現了,點擊按鈕就可以復制設置好的文本了。你可能注意到了,待復制的文本是固定的,如果想要動態改變的怎么辦,比如復制一個輸入框中的內容。不用擔心,下面會講到的。

Zero Clipboard的高級功能

1、reposition() 方法

因為按鈕上漂浮有一個 Flash 按鈕,所以當頁面大小發生變化時,Flash 按鈕可能會錯位,這樣就點不著了。 不要緊,Zero Clipboard 提供了一個 reposition() 方法,可以重新計算 Flash 按鈕的位置。我們可以將它綁定到 resize 事件上。如下面代碼是在jQuery下實現的resize事件重新設置按鈕位置:

復制代碼 代碼如下:

$(window).resize(function(){
   clip.reposition();
});

2、hide() 和 show() 方法
這兩個方法可以隱藏和顯示 Flash 按鈕 。其中 show() 方法會調用 reposition() 方法。

3、setCSSEffects() 方法
當鼠標移到按鈕上或點擊時,由于有 Flash 按鈕的遮擋,所以像 css “:hover”, “:active” 等偽類可能會失效。setCSSEffects() 方法就是解決這個問題。首先我們需要將偽類改成類,比如:

#copy-botton:hover{border-color:#FF6633;}// 可以改成下面的 ":hover" 改成 ".hover"
#copy-botton.hover{border-color:#FF6633;}

我們可以調用 clip.setCSSEffects( true ); 這樣 Zero Clipboard 會自動為我們處理:將類 .hover 當成偽類 :hover 。

4、getHTML() 方法
如果你想自己實例一個 Flash ,不用 Zero Clipboard 的附著方法,那么這個方法就可以幫上忙了。它接受兩個參數,分別為 Flash 的寬度和高度。返回的是 Flash 對應的 HTML 代碼。例如:

var html = clip.getHTML( 150, 20 );
你可以用 innerHTML 或直接 document.write(); 進行輸出。
以下是測試輸出的組裝完畢的HTML 代碼:
<embed id="ZeroClipboardMovie_1" src="zeroclipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="150" height="20" name="ZeroClipboardMovie_1" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&width=150&height=20" wmode="transparent" />

IE 的 Flash JavaScript 通信接口上有一個 bug 。你必須插入一個 object 標簽到一個已存在的 DOM 元素中。并且在寫入 innerHTML 之前請確保該元素已經 appendChild 方法插入到 DOM 中。

Zero Clipboard 事件處理

Zero Clipboard 提供了一些事件,你可以自定義函數處理這些事件。Zero Clipboard 事件處理函數為 addEventListener(); 例如當 Flash 完全載入后會觸發一個事件 “load” 。
clip.addEventListener( "load", function(client) {
    alert("Flash 加載完畢!");
});
Zero Clipboard 會將 clip 對象作為參數傳入。即上例中的 “client” 。
還有 “load” 也可以寫成 “onLoad”,其他的事件也可以這樣。

其他事件還包括:

mouseOver 鼠標移上事件
mouseOut 鼠標移出事件
mouseDown 鼠標按下事件
mouseUp 鼠標松開事件
complete 復制成功事件
其中 mouseOver 事件和 complete 事件比較常用。

前面說過,如果需要動態改變待復制的內容,那 mouseOver 事件就可以派上用場了。例如需要動態復制一個 id 為 test 的輸入框中的值,我們可以在鼠標 over 的時候重新設置值。

復制代碼 代碼如下:

clip.addEventListener( "mouseOver", function(client) {
    var test = document.getElementById("test");
    client.setText( test.value ); // 重新設置要復制的值
});
//復制成功:
clip.addEventListener( "complete", function(){
    alert("復制成功!");
});

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文综合在线观看| 九九九热精品免费视频观看网站| 日韩精品免费电影| 日韩电影免费观看在线| 国内伊人久久久久久网站视频| 97在线精品视频| 国产深夜精品福利| 亚洲男人的天堂在线播放| 日韩大陆欧美高清视频区| 亚洲精品短视频| 日本国产高清不卡| 久久天天躁夜夜躁狠狠躁2022| 91亚洲va在线va天堂va国| 日韩天堂在线视频| 国产成人精品久久二区二区91| 国产精品久久视频| 国产精品黄页免费高清在线观看| 最近2019中文字幕大全第二页| 欧美日韩国产色| 国产精品视频免费在线| 亚洲综合在线播放| 久久久久久久久国产| 亚洲一级黄色片| 国产成人拍精品视频午夜网站| www.日韩欧美| 日韩在线观看电影| 日韩欧美在线一区| 久久99久久亚洲国产| 亚洲视频在线免费看| 久久国产精品久久久久久久久久| 97视频在线观看成人| 伊人久久男人天堂| 国产精品美女免费看| 成人亚洲综合色就1024| 久久久噜噜噜久噜久久| 国产成+人+综合+亚洲欧美丁香花| 亚洲毛片在线看| 欧美在线国产精品| 成人在线国产精品| 亚洲免费影视第一页| 久久久www成人免费精品| 91av在线影院| 欧美丝袜第一区| 亚洲激情国产精品| 九九久久国产精品| 中文字幕九色91在线| 欧美激情aaaa| 久久久久久久久电影| 欧美日韩综合视频网址| 国产精品吹潮在线观看| 日韩美女av在线免费观看| 久久综合免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩男女性生活视频| 欧美成人精品h版在线观看| 欧美黄网免费在线观看| 国产精品第二页| 亚洲成人精品久久| 中文字幕成人精品久久不卡| 中文字幕在线视频日韩| 亚洲桃花岛网站| 午夜精品久久久久久久99黑人| 久久综合久久美利坚合众国| 亚洲性av在线| 91中文精品字幕在线视频| 久久精品影视伊人网| 欧美精品在线视频观看| 影音先锋欧美精品| 欧美成人一二三| 成人97在线观看视频| 久久精品国产欧美激情| 亚洲男人天堂网| 精品露脸国产偷人在视频| 亚洲免费视频观看| 亚洲国产精品va在线看黑人| 久久久久久高潮国产精品视| 欧美激情视频一区二区三区不卡| 国产在线视频91| 国产精品久久久久久中文字| 色偷偷综合社区| 日韩三级成人av网| 美女扒开尿口让男人操亚洲视频网站| 日韩美女av在线免费观看| 亚洲综合最新在线| 亚洲欧美日韩高清| 亚洲欧美国产日韩中文字幕| 亚洲加勒比久久88色综合| 日韩在线视频网站| 成人午夜在线观看| 日本19禁啪啪免费观看www| 欧美日本黄视频| 国产成人精品一区| 青青草原一区二区| 日韩精品免费在线视频观看| 精品国产户外野外| 国产91精品久久久久久久| 久久久久久久97| 国产91成人在在线播放| 精品国产一区久久久| 97超碰蝌蚪网人人做人人爽| 亚洲精品乱码久久久久久按摩观| 亚洲女同精品视频| 国产欧美日韩亚洲精品| 国模极品一区二区三区| 日韩电影免费观看中文字幕| 欧美三级免费观看| 91经典在线视频| 国外视频精品毛片| 国产精品久久9| 久久久久在线观看| 欧美大尺度在线观看| 日韩黄在线观看| 色樱桃影院亚洲精品影院| 欧美激情一区二区三区成人| 国产成人一区二区三区电影| 国产精品高潮粉嫩av| 国产精品黄色av| 91沈先生作品| 久99九色视频在线观看| 欧美日韩国产一区二区三区| 欧美老女人www| 国产中文字幕亚洲| 欧美日韩在线免费观看| 亚洲香蕉成人av网站在线观看| 国产一区二区三区在线观看网站| 91麻豆桃色免费看| www国产精品视频| 2019亚洲男人天堂| 久久精品精品电影网| 久久亚洲精品一区| 深夜福利日韩在线看| 国产激情视频一区| 久久久久www| 日韩电影网在线| 日本欧美一二三区| 九色91av视频| www.日本久久久久com.| 亚洲激情视频在线| 久久综合久久美利坚合众国| 日韩的一区二区| 91色中文字幕| 国产一区深夜福利| 久久亚洲一区二区三区四区五区高| 欧美午夜激情在线| 欧美怡红院视频一区二区三区| 欧美日韩国产色视频| 精品视频久久久久久久| 亚洲精品国产综合久久| 不卡av在线网站| 欧美日韩国产va另类| 欧美激情视频网站| 亚洲色图15p| 日韩最新av在线| 亚洲精品小视频在线观看| 久久精品国产一区二区电影| 欧美另类高清videos| 久久久午夜视频| 久久久精品国产一区二区| 亚洲第一偷拍网| 亚洲男人天堂视频| 欧美国产精品日韩| 色999日韩欧美国产| 久久久久五月天| 欧美在线视频一区|