單擊復(fù)制文字兼容各瀏覽器的完美解決方案
更新時(shí)間:2013年07月04日 18:12:32 作者:
單擊復(fù)制文字的js找了很久,由于之前沒(méi)有接觸過(guò),完全不知道兼容ie及標(biāo)準(zhǔn)dom瀏覽器,不僅僅要通過(guò)js,而且需要flash的幫忙,下面與大家分享下具體的實(shí)現(xiàn)方法
單擊復(fù)制文字的js。找了很久,由于之前沒(méi)有接觸過(guò),完全不知道兼容ie及標(biāo)準(zhǔn)dom瀏覽器,不僅僅要通過(guò)js,而且需要flash的幫忙。clipboard.swf這個(gè)在網(wǎng)上都有下載.
ie允許訪(fǎng)問(wèn)剪貼板。window.clipboardData可以訪(fǎng)問(wèn)
但是標(biāo)準(zhǔn)dom??戳艘恍┪恼抡f(shuō)的都是用flash設(shè)置隱藏。但是flash10是不支持。
但是,還有個(gè)方法是可行的,固記錄一下,以下方法支持標(biāo)準(zhǔn)dom.
(function () {
window['Util'] = {
CACHE:{},
getText : function(){
return Util.CACHE.CLIPBOARD_TEXT;
},
successHide : function(){
alert("復(fù)制北海365網(wǎng)招聘郵件地址!");
},
Copy : function (pStr,hasReturn, isdo) {
var html = [];
html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">');
html.push('<param name="quality" value="high" />');
html.push('<param name="allowScriptAccess" value="sameDomain" />');
html.push('<param name="allowFullScreen" value="true" />');
html.push('<param name="wmode" value="transparent" />');
html.push('</object>');
var yu=document.getElementById('copy').innerHTML;
document.getElementById('copy').innerHTML=yu+html.join('');
Util.CACHE.CLIPBOARD_TEXT = pStr;
}
}
Util.Copy('zhaopin@beihai365.com ');
})();
如果要兼容ie。還得加上
if (window.clipboardData) {
window.clipboardData.setData("Text",pStr);
Util.successHide();
}
最后這樣能實(shí)現(xiàn)單擊復(fù)制文字,并且兼容各瀏覽器。記住。swf的路徑一定要對(duì)!如果不對(duì)是不出現(xiàn)手型的,這是特征。
(function () {
window['Util'] = {
CACHE:{},
getText : function(){
return Util.CACHE.CLIPBOARD_TEXT;
},
successHide : function(){
alert("復(fù)制北海365網(wǎng)招聘郵件地址!");
},
Copy : function (pStr,hasReturn, isdo) {
var copy=document.getElementById('copy');
if (window.clipboardData) {
copy.onclick=function(){
window.clipboardData.setData("Text",pStr);
Util.successHide();
}
} else {
var html = [];
html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">');
html.push('<param name="quality" value="high" />');
html.push('<param name="allowScriptAccess" value="sameDomain" />');
html.push('<param name="allowFullScreen" value="true" />');
html.push('<param name="wmode" value="transparent" />');
html.push('</object>');
var yu=copy.innerHTML;
copy.innerHTML=yu+html.join('');
Util.CACHE.CLIPBOARD_TEXT = pStr;
}
}
}
Util.Copy('zhaopin@beihai365.com ');
})();
ie允許訪(fǎng)問(wèn)剪貼板。window.clipboardData可以訪(fǎng)問(wèn)
但是標(biāo)準(zhǔn)dom??戳艘恍┪恼抡f(shuō)的都是用flash設(shè)置隱藏。但是flash10是不支持。
但是,還有個(gè)方法是可行的,固記錄一下,以下方法支持標(biāo)準(zhǔn)dom.
復(fù)制代碼 代碼如下:
(function () {
window['Util'] = {
CACHE:{},
getText : function(){
return Util.CACHE.CLIPBOARD_TEXT;
},
successHide : function(){
alert("復(fù)制北海365網(wǎng)招聘郵件地址!");
},
Copy : function (pStr,hasReturn, isdo) {
var html = [];
html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">');
html.push('<param name="quality" value="high" />');
html.push('<param name="allowScriptAccess" value="sameDomain" />');
html.push('<param name="allowFullScreen" value="true" />');
html.push('<param name="wmode" value="transparent" />');
html.push('</object>');
var yu=document.getElementById('copy').innerHTML;
document.getElementById('copy').innerHTML=yu+html.join('');
Util.CACHE.CLIPBOARD_TEXT = pStr;
}
}
Util.Copy('zhaopin@beihai365.com ');
})();
如果要兼容ie。還得加上
復(fù)制代碼 代碼如下:
if (window.clipboardData) {
window.clipboardData.setData("Text",pStr);
Util.successHide();
}
最后這樣能實(shí)現(xiàn)單擊復(fù)制文字,并且兼容各瀏覽器。記住。swf的路徑一定要對(duì)!如果不對(duì)是不出現(xiàn)手型的,這是特征。
復(fù)制代碼 代碼如下:
(function () {
window['Util'] = {
CACHE:{},
getText : function(){
return Util.CACHE.CLIPBOARD_TEXT;
},
successHide : function(){
alert("復(fù)制北海365網(wǎng)招聘郵件地址!");
},
Copy : function (pStr,hasReturn, isdo) {
var copy=document.getElementById('copy');
if (window.clipboardData) {
copy.onclick=function(){
window.clipboardData.setData("Text",pStr);
Util.successHide();
}
} else {
var html = [];
html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">');
html.push('<param name="quality" value="high" />');
html.push('<param name="allowScriptAccess" value="sameDomain" />');
html.push('<param name="allowFullScreen" value="true" />');
html.push('<param name="wmode" value="transparent" />');
html.push('</object>');
var yu=copy.innerHTML;
copy.innerHTML=yu+html.join('');
Util.CACHE.CLIPBOARD_TEXT = pStr;
}
}
}
Util.Copy('zhaopin@beihai365.com ');
})();
相關(guān)文章
三分鐘學(xué)會(huì)用ES7中的Async/Await進(jìn)行異步編程
這篇文章主要介紹了三分鐘學(xué)會(huì)用ES7中的Async/Await進(jìn)行異步編程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
七行JSON代碼把你的網(wǎng)站變成移動(dòng)應(yīng)用過(guò)程詳解
這篇文章主要介紹了七行JSON代碼把你的網(wǎng)站變成移動(dòng)應(yīng)用過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2019-07-07
Js數(shù)組的操作push,pop,shift,unshift等方法詳細(xì)介紹
js中針對(duì)數(shù)組操作的方法還是比較多的,今天突然想到來(lái)總結(jié)一下,也算是溫故而知新吧。不過(guò)不會(huì)針對(duì)每個(gè)方法進(jìn)行講解,我只是選擇其中的一些來(lái)講,感興趣的朋友可以研究一下2012-12-12
JS document對(duì)象簡(jiǎn)單用法完整示例
這篇文章主要介紹了JS document對(duì)象簡(jiǎn)單用法,結(jié)合完整實(shí)例形式詳細(xì)分析了JS document對(duì)象獲取、輸出、節(jié)點(diǎn)調(diào)用等相關(guān)操作技巧,需要的朋友可以參考下
JavaScript 中實(shí)現(xiàn) use strict的方法及優(yōu)勢(shì)
本教程將討論JavaScript中的use strict特性,在這里,我們將通過(guò)不同的示例了解如何在JavaScript代碼語(yǔ)句中創(chuàng)建和執(zhí)行use strict關(guān)鍵字,需要的朋友可以參考下2023-09-09
JS中使用cavas截圖網(wǎng)頁(yè)并解決跨域及模糊問(wèn)題
這篇文章主要介紹了JS中使用cavas截取網(wǎng)頁(yè)并解決跨域以及模糊問(wèn)題 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11

