單擊復(fù)制文字兼容各瀏覽器的完美解決方案
更新時間:2013年07月04日 18:12:32 作者:
單擊復(fù)制文字的js找了很久,由于之前沒有接觸過,完全不知道兼容ie及標(biāo)準(zhǔn)dom瀏覽器,不僅僅要通過js,而且需要flash的幫忙,下面與大家分享下具體的實(shí)現(xiàn)方法
單擊復(fù)制文字的js。找了很久,由于之前沒有接觸過,完全不知道兼容ie及標(biāo)準(zhǔn)dom瀏覽器,不僅僅要通過js,而且需要flash的幫忙。clipboard.swf這個在網(wǎng)上都有下載.
ie允許訪問剪貼板。window.clipboardData可以訪問
但是標(biāo)準(zhǔn)dom??戳艘恍┪恼抡f的都是用flash設(shè)置隱藏。但是flash10是不支持。
但是,還有個方法是可行的,固記錄一下,以下方法支持標(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的路徑一定要對!如果不對是不出現(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允許訪問剪貼板。window.clipboardData可以訪問
但是標(biāo)準(zhǔn)dom??戳艘恍┪恼抡f的都是用flash設(shè)置隱藏。但是flash10是不支持。
但是,還有個方法是可行的,固記錄一下,以下方法支持標(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的路徑一定要對!如果不對是不出現(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é)會用ES7中的Async/Await進(jìn)行異步編程
這篇文章主要介紹了三分鐘學(xué)會用ES7中的Async/Await進(jìn)行異步編程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
七行JSON代碼把你的網(wǎng)站變成移動應(yīng)用過程詳解
這篇文章主要介紹了七行JSON代碼把你的網(wǎng)站變成移動應(yīng)用過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值2019-07-07
Js數(shù)組的操作push,pop,shift,unshift等方法詳細(xì)介紹
js中針對數(shù)組操作的方法還是比較多的,今天突然想到來總結(jié)一下,也算是溫故而知新吧。不過不會針對每個方法進(jìn)行講解,我只是選擇其中的一些來講,感興趣的朋友可以研究一下2012-12-12
JavaScript 中實(shí)現(xiàn) use strict的方法及優(yōu)勢
本教程將討論JavaScript中的use strict特性,在這里,我們將通過不同的示例了解如何在JavaScript代碼語句中創(chuàng)建和執(zhí)行use strict關(guān)鍵字,需要的朋友可以參考下2023-09-09
JS中使用cavas截圖網(wǎng)頁并解決跨域及模糊問題
這篇文章主要介紹了JS中使用cavas截取網(wǎng)頁并解決跨域以及模糊問題 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11

