當(dāng)前位置:博客首頁(yè)>>建站經(jīng)驗(yàn) >> 閱讀正文

【點(diǎn)擊復(fù)制代碼 兼容】瀏覽器兼容的點(diǎn)擊復(fù)制到剪貼板

作者: 鄭曉 分類: 建站經(jīng)驗(yàn) 發(fā)布于: 2012-07-01 08:54 瀏覽:11,776 評(píng)論(2)


今天給博客的代碼高亮下面加了一個(gè)小按鈕–點(diǎn)擊復(fù)制到剪貼板,不華不實(shí)的小功能…僅供娛樂(lè)~對(duì)各瀏覽器的兼容還算比較好~下面就來(lái)肢解一下相關(guān)代碼:
1.首先是要復(fù)制的目標(biāo)容器,在本博客中我借助的是codecolorer代碼高亮插件的DIV,也可以根據(jù)自己的實(shí)際需要來(lái)使用別的,一樣~只要給它一個(gè)ID,例如:
<div id=”copycode”>…這里是要復(fù)制的目標(biāo)內(nèi)容…</div>
2.接著要?jiǎng)?chuàng)建一個(gè)事件按鈕,本文方法使用的是一隱藏flash來(lái)間接的實(shí)現(xiàn)兼容性復(fù)制,這面是該按鈕代碼:

<div id=”clipboard_content”>
<span class=”clipinner” id=”clipinner”>點(diǎn)此復(fù)制到剪貼板
<embed name=”clipboardswf” class=”clipboardswf” id=”clipboardswf” onmouseover=”setcopy_gettext()” devicefont=”false” src=”http://www.yjfs.org.cn/clipboard.swf” menu=”false” allowscriptaccess=”sameDomain” swliveconnect=”true” wmode=”transparent” type=”application/x-shockwave-flash” height=”20″ width=”100″></span>
</div>

好長(zhǎng)啊好長(zhǎng)啊….自己去看著精簡(jiǎn)吧….

3.然后,加上核心JS函數(shù),如下:
<script type=”text/javascript”>
var clipboardswfdata;
var setcopy_gettext = function(){
clipboardswfdata = document.all.copycode.innerText;
window.document.clipboardswf.SetVariable(“str”, clipboardswfdata);
}
var floatwin = function(){
alert(“復(fù)制成功!” );
}
</script>
4.大工告成,趕緊試試吧!當(dāng)然,您也可以給它加一個(gè)樣式,如本博所用的:

<style type=”text/css”>
.clipinner {position:relative;}
.clipboardswf {position:absolute; left:0; top:0;}
</style>

好吧,一個(gè)小小的點(diǎn)擊復(fù)制到剪貼板功能也不過(guò)如此吧?主要是要考慮到它的多瀏覽器兼容。

你還可以看看這篇文章:兼容各瀏覽器的復(fù)制到剪切板插件ZeroClipboard

? ? ? ?

本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://www.yjfs.org.cn/click-to-copy-code-to-clipboard-browser-compatibility.html

【點(diǎn)擊復(fù)制代碼 兼容】瀏覽器兼容的點(diǎn)擊復(fù)制到剪貼板:目前有2 條留言

用戶評(píng)論頭像 小月發(fā)表于 2014年03月28日 09:39[回復(fù)]

為什么我的不行呢?

    用戶評(píng)論頭像 鄭曉發(fā)表于 2014年03月28日 12:56[回復(fù)]

    可以再看看我剛發(fā)的一篇文章介紹的ZeroClipboard插件,也很好用。

發(fā)表評(píng)論

change vcode