單擊復(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允許訪問(wèn)剪貼板。window.clipboardData可以訪問(wèn)
但是標(biāo)準(zhǔn)dom。看了一些文章說(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允許訪問(wèn)剪貼板。window.clipboardData可以訪問(wèn)
但是標(biāo)準(zhǔn)dom。看了一些文章說(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)文章
JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼
這篇文章主要介紹了JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼,有需要的朋友可以參考一下2013-11-11uniapp微信小程序訂閱消息發(fā)送服務(wù)通知超詳細(xì)教程
在使用或開(kāi)發(fā)小程序過(guò)程中,我們會(huì)發(fā)現(xiàn)消息通知是非常重要的一個(gè)環(huán)節(jié),下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序訂閱消息發(fā)送服務(wù)通知的相關(guān)資料,需要的朋友可以參考下2023-06-06前端圖片懶加載的原理與3種實(shí)現(xiàn)方式舉例
圖片懶加載又稱圖片延時(shí)加載、惰性加載,即在用戶需要使用圖片的時(shí)候加載,這樣可以減少請(qǐng)求,節(jié)省帶寬,提高頁(yè)面加載速度,相對(duì)的,也能減少服務(wù)器壓力,下面這篇文章主要給大家介紹了關(guān)于前端圖片懶加載的原理與3種實(shí)現(xiàn)方式的相關(guān)資料,需要的朋友可以參考下2023-03-03前端面試知識(shí)點(diǎn)錦集(JavaScript篇)
這篇文章主要為大家分享了前端面試知識(shí)點(diǎn)錦集JavaScript篇,細(xì)致的給出了每個(gè)js面試知識(shí)點(diǎn)的答案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12兩個(gè)select多選模式的選項(xiàng)相互移動(dòng)(示例代碼)
本篇文章主要是對(duì)兩個(gè)select多選模式的選項(xiàng)相互移動(dòng)示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01Webpack學(xué)習(xí)之動(dòng)態(tài)import原理及源碼分析
這篇文章主要為大家介紹了Webpack學(xué)習(xí)之動(dòng)態(tài)import原理及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Object.keys()、Object.values()、Object.entries()用法總結(jié)
本文主要介紹了Object.keys()、Object.values()、Object.entries()用法總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04