婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用ZeroClipboard解決跨瀏覽器復制到剪貼板的問題

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

熱門標簽:隨州外呼調研系統 r語言數據可視化地圖標注 如何修改多個百度地圖標注 本地電話機器人 400電話辦理包年 南寧網絡外呼系統運營商 微信地圖標注合并了 東營電銷 高德地圖地圖標注服務中心

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=1width=150height=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("復制成功!");
});

您可能感興趣的文章:
  • 瀏覽器復制插件zeroclipboard使用指南
  • ZeroClipboard插件實現多瀏覽器復制功能(支持firefox、chrome、ie6)
  • zeroclipboard 單個復制按鈕和多個復制按鈕的實現方法
  • zeroclipboard復制到剪切板的flash
  • js 剪切板應用clipboardData詳細解析
  • js復制到剪切板的實例方法
  • js 剪切板的用法(clipboardData.setData)與js match函數介紹
  • JS將制定內容復制到剪切板示例代碼
  • Js+Flash實現訪問剪切板操作
  • JavaScript使用ZeroClipboard操作剪切板

標簽:拉薩 宿遷 果洛 益陽 寧夏 西雙版納 黃石 德州

巨人網絡通訊聲明:本文標題《使用ZeroClipboard解決跨瀏覽器復制到剪貼板的問題》,本文關鍵詞  使用,ZeroClipboard,解決,跨,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用ZeroClipboard解決跨瀏覽器復制到剪貼板的問題》相關的同類信息!
  • 本頁收集關于使用ZeroClipboard解決跨瀏覽器復制到剪貼板的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 清丰县| 中超| 海丰县| 静海县| 大悟县| 修文县| 望都县| 安吉县| 桃源县| 江永县| 永嘉县| 黎城县| 吉木萨尔县| 射阳县| 罗江县| 高平市| 池州市| 旬邑县| 武安市| 普洱| 青川县| 应城市| 黄陵县| 沾化县| 丰都县| 延寿县| 林周县| 大邑县| 开鲁县| 巴马| 德保县| 屯留县| 抚州市| 社会| 清水河县| 阳信县| 咸宁市| 涞源县| 金秀| 甘肃省| 五家渠市|