Javascript復制信息到剪貼板[支持IE和火狐]
來源:程序員人生 發布時間:2013-11-30 06:54:10 閱讀次數:3088次
今天找了很久的代碼,換了一個又一個,都不行,明明很多人說可行的,為什么到我這里就不行了呢。最后還是一個英文博客文章找到了一些說法。因為我不懂flash,最終的做法還沒有,但是可以提供一些思路給同樣迷惑的同學們。
復制到剪貼板在ie里面實現很簡單很簡單,僅需要用到函數window.clipboardData.setData("Text",varstring);
網:http://www.vxbq.cn/
問題是如何在firefox下實現。目前網上有兩種方法。
第一種,比較少見,利用firefox的特性,相關文章參考https://developer.mozilla.org/en/Using_the_Clipboard。用這種方法一般需要用戶修改firefox的默認設置,非常麻煩。
第二種,利用flash,在Javaeye和Discuz!中都是用這種方法,據說05年就出現了。這種方法的關鍵是利用flash的復制功能
<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(s)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>
這里需要用到一個clipboard.swf文件,網上有很多現成的,可直接下載。
這就是我找到的兩種方法,對比一下,第二種肯定是首選,而且應用也很廣,可惜的是,我在網上找到的所有代碼都不可用了。
原因在這篇文章的評論中提到了http://www.jeffothy.com/weblog/clipboard-copy/.更新Flash 10后,禁止用戶在沒有點擊flash的情況下復制內容,原來的方法失效了。解決方法是在按鈕的上面覆蓋一層透明的復制用的flash(這是dz所采用的方法),或者直接使用一個用flash做的復制按鈕(這個方法Javaeye在用)。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈