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