最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)復(fù)制功能各瀏覽器支持情況實(shí)測

 更新時間:2013年07月18日 17:26:44   作者:  
這兩天在做Web前端時,遇到需求通過js實(shí)現(xiàn)文本復(fù)制的功能,下面與大家分享下各瀏覽器對復(fù)制功能的支持情況,感興趣的朋友可以參考下哈
這兩天在做Web前端時,遇到需求通過js實(shí)現(xiàn)文本復(fù)制的功能。
先不考慮瀏覽器的兼容性,看看各瀏覽器對復(fù)制功能的支持情況:

1、IE瀏覽器,解決方法有三種,代碼如下:
復(fù)制代碼 代碼如下:

function copy(txtid){
var txtObj = document.getElementById(txtid);
if(window.clipboardData){ // 僅IE支持此對象,firefox、chrome不支持
//1、通過clipboardData對象實(shí)現(xiàn)復(fù)制
//window.clipboardData.clearData();
//window.clipboardData.setData("Text",txtObj.value);

//2、通過document對象實(shí)現(xiàn)復(fù)制:先選擇中文本,再執(zhí)行復(fù)制命令
//txtObj.select();
//document.execCommand("Copy"); // 僅IE支持,F(xiàn)irefox報語法錯誤,chrome執(zhí)行結(jié)果返回false(不支持)

//3、通過TextRange對象實(shí)現(xiàn)現(xiàn)復(fù)制:可以不用先選中內(nèi)容
txtObj.createTextRange().execCommand("Copy");
}
}

2、Firefox,通過接口的方法實(shí)現(xiàn),火狐是出于安全原因,在17之后版本關(guān)閉此接口,17及之前版本可用。代碼如下:
復(fù)制代碼 代碼如下:

var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interface.nsIClipboard);

3、Chrome出于安全,未向用戶提供對剪貼板的操作。由此可見,各瀏覽器對復(fù)制功能的支持并不統(tǒng)一。
Zero Clipboard庫
jhuckaby寫的Zero Clipboard的js類庫,利用Flash完成復(fù)制內(nèi)容到剪貼板。只要瀏覽器裝有Flash插件就可以復(fù)制內(nèi)容,通過ActionScript屏蔽了JavaScript的不足,解決瀏覽器間復(fù)制兼容性問題。
Zero Clipboard的實(shí)現(xiàn)原理:Zero Clipboard首先生成Flash對象標(biāo)簽,讓透明的Flash漂浮在復(fù)制按鈕之上,其實(shí)點(diǎn)擊的不是按鈕而是Flash,這樣將需要的內(nèi)容傳入Flash,再通過Flash的復(fù)制到系統(tǒng)剪貼板。
Zero Clipboard的使用方法
注意:由于是基于Flash實(shí)現(xiàn),F(xiàn)lash出于安全,需要在Web容器(例如Apache、Tomcat)中才能運(yùn)行,直接打開Flash將不會被加載,按鈕類似假死現(xiàn)象,網(wǎng)上說右鍵Flash設(shè)置將ZeroClipboard.swf添加到受信任位置,感覺應(yīng)該是行的,我試了,仍然不行,也可能是我本地瀏覽器的問題。
1>下載Zero Clipboard的壓縮包,解壓后把文件夾中兩個文件:ZeroClipboard.js和ZeroClipboard.swf放入到你的項(xiàng)目中;
2>引入Zero Clipboard.js文件,如下代碼:<script type="text/javascript" src="ZeroClipboard.js"></script>;
注意:ZeroClipboard.js與ZeroClipboard.swf需要放在同一路徑下,如果不在同一路徑,可使用ZeroClipboard.setMoviePath()來設(shè)置。
3>簡單復(fù)制代碼如下:
復(fù)制代碼 代碼如下:

var clip = new ZeroClipboard.Client(); // 新建一個clip對象
clip.setHandCursor( true ); // 設(shè)置鼠標(biāo)為手型
clip.setText("hello,world"); // 設(shè)置要復(fù)制的文本,可以為文本框的值
clip.glue("copy-botton"); // 為clip注冊一個按鈕,參數(shù)為按鈕元素的id,點(diǎn)擊按鈕就可以實(shí)現(xiàn)復(fù)制

4>Zero Clipboard常用方法,建議直接查看源碼:
reposition():防止當(dāng)頁面大小發(fā)生變化時,F(xiàn)lash按鈕可能會錯位問題
hide() :隱藏Flash按鈕
show() :顯示Flash按鈕
setCSSEffects():解決Flash遮擋按鈕樣式失效問題(將:hover修改為.hover)。
5>Zero Clipboard 常用事件,事件處理函數(shù)為addEventListener():
load :Flash按鈕加載完事件
mouseOver:鼠標(biāo)移上事件
mouseOut: 鼠標(biāo)移出事件
mouseDown:鼠標(biāo)按下事件
mouseUp:鼠標(biāo)松開事件
complete:復(fù)制成功事件

jquery.zclip庫
由于ZeroClipboard是基于原生JavaScript實(shí)現(xiàn),jquery.zclip使用jQuery對Zero Clipboard進(jìn)行封裝,如果項(xiàng)目中已經(jīng)使用jQuery,建議使用它,jquery.zclip體積較小。
jquery.zclip下載地址:http://www.steamdev.com/zclip/
Zero Clipboard下載地址:https://github.com/zeroclipboard/ZeroClipboard/releases
示例下載:
為了方便測試,我將jquery.zclip和Zero Clipboard寫好的例子上傳到csdn,示例必須在web容器里運(yùn)行。
demo下載地址

相關(guān)文章

  • 基于Javascript實(shí)現(xiàn)網(wǎng)頁版的繪圖板

    基于Javascript實(shí)現(xiàn)網(wǎng)頁版的繪圖板

    這篇文章主要為大家詳細(xì)介紹了如何基于HTML5 Canvas和jQuery實(shí)現(xiàn)的簡單網(wǎng)頁版繪圖編輯器,文中的示例代碼講解詳細(xì),需要的小伙伴可以了解下
    2024-10-10
  • 擴(kuò)展IE中一些不兼容的方法如contains、startWith等等

    擴(kuò)展IE中一些不兼容的方法如contains、startWith等等

    擴(kuò)展IE中一些不兼容的方法如contains方法、startWith方法等等,下面是具體的實(shí)現(xiàn)代碼,喜歡的朋友可以參考下
    2014-01-01
  • JSChart輕量級圖形報表工具(內(nèi)置函數(shù)中文參考)

    JSChart輕量級圖形報表工具(內(nèi)置函數(shù)中文參考)

    JSChart是一個輕量級的在線圖表生成工具,本身十分小巧,簡單易用,相對來講功能也不是特別強(qiáng)大,但是對于一些要求不高的應(yīng)用來講已經(jīng)夠用了,最近兩天在做一個監(jiān)控系統(tǒng),想到了它。
    2010-10-10
  • JS寫滑稽笑臉運(yùn)動效果

    JS寫滑稽笑臉運(yùn)動效果

    這篇文章主要介紹了JS寫滑稽笑臉運(yùn)動效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • js版本A*尋路算法

    js版本A*尋路算法

    js版本A*尋路算法...
    2006-12-12
  • 編寫一個javascript元循環(huán)求值器的方法

    編寫一個javascript元循環(huán)求值器的方法

    這篇文章主要介紹了編寫一個javascript元循環(huán)求值器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • JavaScript隱式類型轉(zhuǎn)換例子總結(jié)

    JavaScript隱式類型轉(zhuǎn)換例子總結(jié)

    這篇文章主要介紹了JavaScript隱式類型轉(zhuǎn)換例子總結(jié),熟練掌握類型轉(zhuǎn)換,理解其中的規(guī)律??梢宰屇愕拇a更簡潔更安全,下文圍繞主題JS隱式轉(zhuǎn)換,需要的朋友可以參考一下
    2022-08-08
  • JS回調(diào)函數(shù)深入理解

    JS回調(diào)函數(shù)深入理解

    這篇文章主要介紹了JS回調(diào)函數(shù),結(jié)合實(shí)例形式深入分析了js回調(diào)函數(shù)的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • javascript 選擇文件夾對話框(web)

    javascript 選擇文件夾對話框(web)

    web程序開發(fā)中經(jīng)常會遇見選擇文件夾的時候,這對于web程序員是一件麻煩的事情,由于本地安全限制JS不能訪問本地文件,所以選擇文件夾一般都避而不談,筆者在寫一個程序的時候也遇見了同樣的問題,開始嘗試使用JS來遍歷文件,結(jié)果都沒有成功
    2009-07-07
  • 原生JS:Date對象全面解析

    原生JS:Date對象全面解析

    下面小編就為大家?guī)硪黄鶭S:Date對象全面解析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09

最新評論

汕尾市| 定陶县| 大邑县| 门源| 土默特左旗| 枞阳县| 岳阳县| 巴青县| 南充市| 双辽市| 定日县| 彝良县| 平和县| 象州县| 正蓝旗| 思南县| 墨玉县| 岳阳市| 东方市| 靖西县| 东源县| 平湖市| 黔西县| 大英县| 桃园市| 溧阳市| 汝州市| 仁化县| 景德镇市| 沽源县| 娱乐| 大丰市| 武宁县| 体育| 仁布县| 龙山县| 虞城县| 丁青县| 乡宁县| 兴国县| 延安市|