Jquery跨瀏覽器文本復(fù)制插件Zero Clipboard的使用方法
當(dāng)開發(fā)者需要對某局部文本進(jìn)行點(diǎn)擊復(fù)制效果時(shí),在IE下實(shí)現(xiàn)比較簡單。但要想做到跨瀏覽器比較困難了。Zero Clipboard 它利用 Flash 進(jìn)行復(fù)制,所以只要瀏覽器裝有 Flash 就可以運(yùn)行,而且比IE的document.execCommand(“Copy”) 更加靈活。
Zero Clipboard 的實(shí)現(xiàn)原理
Zero Clipboard 利用 Flash 進(jìn)行復(fù)制,之前有 Clipboard Copy 解決方案,其利用的是一個(gè)隱藏的 Flash。但最新的 Flash Player 10 只允許在 Flash 上進(jìn)行操作才能啟動(dòng)剪貼板。所以 Zero Clipboard 對此進(jìn)行了改進(jìn),用了一個(gè)透明的 Flash ,讓其漂浮在按鈕之上,這樣其實(shí)點(diǎn)擊的不是按鈕而是 Flash ,也就可以使用 Flash 的復(fù)制功能了。
Zero Clipboard 特點(diǎn)介紹:
兼容支持Flash 10
避免使用第三方瀏覽器插件(的Adobe Flash瀏覽器中的安全沖突)
無形的覆蓋,無干擾,頁面設(shè)計(jì)
支持CSS“懸?!焙汀盎钴S”狀態(tài)
保留目標(biāo)元素的“點(diǎn)擊”,”mouseenter”和”mouseleave”的事件
供應(yīng)回調(diào)函數(shù)“復(fù)制前”和“復(fù)制”
極輕的重量! (7KB精縮)
首先下載 Zero Clipboard ,并解壓縮。其中需要兩個(gè)文件:ZeroClipboard.js 和 ZeroClipboard.swf ,將這兩個(gè)文件放入到你的項(xiàng)目中。
點(diǎn)擊下載:jquery.zclip.1.1.1
用法:
1.) 首先引入核心文件
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.zclip.js"></script>
2.) 在頁面代碼里寫入功能模塊,定義copy復(fù)制按鈕元素屬性信息
<script language="javascript">
$(document).ready(function(){
$('a#copy-description').zclip({
path:'js/ZeroClipboard.swf',
copy:$('p#description').text()
});
// The link with ID "copy-description" will copy
// the text of the paragraph with ID "description"
$('a#copy-dynamic').zclip({
path:'js/ZeroClipboard.swf',
copy:function(){return $('input#dynamic').val();}
});
// The link with ID "copy-dynamic" will copy the current value
// of a dynamically changing input with the ID "dynamic"
});
</script>
例一:
<a href="#" id="copy-description">點(diǎn)擊復(fù)制效果預(yù)覽</a>
<p id="description">文本源……</p>
例二:
<a href="#" id="copy-dynamic">點(diǎn)擊復(fù)制效果預(yù)覽:</a><input style="width:300px; margin-left:15px;" type="text" id="dynamic" value="Insert any text here." onfocus="if(this.value=='Insert any text here.'){this.value=''}" onblur="if(this.value==''){this.value='Insert any text here.'}" />
3.) 供應(yīng)定制的回調(diào)函數(shù)。
<script language="javascript">
$(document).ready(function(){
$("a#copy-callbacks").zclip({
path:'js/ZeroClipboard.swf',
copy:$('#callback-paragraph').text(),
beforeCopy:function(){
$('#callback-paragraph').css('background','yellow');
$(this).css('color','orange');
},
afterCopy:function(){
$('#callback-paragraph').css('background','green');
$(this).css('color','purple');
$(this).next('.check').show();
}
});
});
</script>
3.) 默認(rèn)參數(shù)。
擴(kuò)展介紹:
1.) 測試兼容IE6,IE7,IE8,F(xiàn)F 3.6,Chrome瀏覽器8,Safari 5的,歌劇11
2.) 適當(dāng)?shù)腃SS特效:
/* zClip is a flash overlay, so it must provide */
/* the target element with "hover" and "active" classes */
/* to simulate native :hover and :active states. */
/* Be sure to write your CSS as follows for best results: */
/*大概意思就是說 ZeroClip是flash疊加……就是說flash疊加在了text文本上,其實(shí)顯示文字可以根據(jù)css來定義*/
a:hover, a.hover {...}
a:active, a.active {...}
在線演示:
1、http://demo.jb51.net/js/2016/jquery_zclip/demo1.html
2、http://demo.jb51.net/js/2016/jquery_zclip/demo2.html
至此,該插件使用方法已經(jīng)介紹結(jié)束,對于使用者的開發(fā)者來說,剩下的擴(kuò)展方面就要根據(jù)需求而定了。
- ZeroClipboard插件實(shí)現(xiàn)多瀏覽器復(fù)制功能(支持firefox、chrome、ie6)
- 使用ZeroClipboard解決跨瀏覽器復(fù)制到剪貼板的問題
- zeroclipboard 單個(gè)復(fù)制按鈕和多個(gè)復(fù)制按鈕的實(shí)現(xiàn)方法
- JavaScript flash復(fù)制庫類 Zero Clipboard
- zeroclipboard復(fù)制到剪切板的flash
- Zero Clipboard js+swf實(shí)現(xiàn)的復(fù)制功能使用方法
- JQuery zClip插件實(shí)現(xiàn)復(fù)制頁面內(nèi)容到剪貼板
- jQuery插件Zclip實(shí)現(xiàn)完美兼容個(gè)瀏覽器點(diǎn)擊復(fù)制內(nèi)容到剪貼板
- Zero Clipboard實(shí)現(xiàn)瀏覽器復(fù)制到剪貼板的方法(多個(gè)復(fù)制按鈕)
相關(guān)文章
淺談jQuery中 wrap() wrapAll() 與 wrapInner()的差異
本文結(jié)合W3School的文檔,分析了jQuery中 wrap() wrapAll() 與 wrapInner()的差異,并給出了圖文對比教程,非常的簡單實(shí)用,有需要的朋友可以參考下2014-11-11
jquery js 重置表單 reset()具體實(shí)現(xiàn)代碼
我們希望表單提交以后,能reset,由于jquery沒有這個(gè)方法,所以只能采用其他的方法來實(shí)現(xiàn)了,具體如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08
JavaScript中利用jQuery綁定事件的幾種方式小結(jié)
這篇文章主要介紹了JavaScript中利用jQuery綁定事件的幾種方式小結(jié),包括不調(diào)用jQuery的"原生js"實(shí)現(xiàn)方式,需要的朋友可以參考下2016-03-03
JQuery中關(guān)于jquery.js與jquery.min.js的比較探討
jquery-1.4.2.min.js是優(yōu)化的,而query-1.4.2.js是易于開發(fā)著閱讀的,具體詳解祥看本文,希望對你有所幫助2013-05-05
jQuery+Ajax實(shí)現(xiàn)用戶名重名實(shí)時(shí)檢測
這篇文章主要為大家詳細(xì)介紹了jQuery Ajax實(shí)現(xiàn)用戶名重名實(shí)時(shí)檢測,針對用戶注冊時(shí)出現(xiàn)的用戶名重名問題進(jìn)行自動(dòng)檢測,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
使用jQuery實(shí)現(xiàn)兩個(gè)div中按鈕互換位置的實(shí)例代碼
這篇文章主要介紹了使用jQuery實(shí)現(xiàn)兩個(gè)div中按鈕互換位置的實(shí)例代碼,需要的朋友可以參考下2017-09-09

