單擊復(fù)制文字兼容各瀏覽器的完美解決方案
更新時間:2013年07月04日 18:12:32 作者:
單擊復(fù)制文字的js找了很久,由于之前沒有接觸過,完全不知道兼容ie及標(biāo)準(zhǔn)dom瀏覽器,不僅僅要通過js,而且需要flash的幫忙,下面與大家分享下具體的實現(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();
}
最后這樣能實現(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();
}
最后這樣能實現(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)文章
uniapp微信小程序訂閱消息發(fā)送服務(wù)通知超詳細(xì)教程
在使用或開發(fā)小程序過程中,我們會發(fā)現(xiàn)消息通知是非常重要的一個環(huán)節(jié),下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序訂閱消息發(fā)送服務(wù)通知的相關(guān)資料,需要的朋友可以參考下2023-06-06Webpack學(xué)習(xí)之動態(tài)import原理及源碼分析
這篇文章主要為大家介紹了Webpack學(xué)習(xí)之動態(tài)import原理及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Object.keys()、Object.values()、Object.entries()用法總結(jié)
本文主要介紹了Object.keys()、Object.values()、Object.entries()用法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04