熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

單擊復制文字兼容各浏覽器的完美解決方案

2013-11-15 11:53:28  來源: JSP教程 

  單擊復制文字的js找了很久由於之前沒有接觸過完全不知道兼容ie及標准dom浏覽器不僅僅要通過js而且需要flash的幫忙clipboardswf這個在網上都有下載

ie允許訪問剪貼板windowclipboardData可以訪問
但是標准dom看了一些文章說的都是用flash設置隱藏但是flash是不支持
但是還有個方法是可行的固記錄一下以下方法支持標准dom

復制代碼 代碼如下:
(function () {
window[Util] = {
CACHE:{}
getText : function(){
return UtilCACHECLIPBOARD_TEXT;
}
successHide : function(){
alert("復制北海網招聘郵件地址!");
}
Copy : function (pStrhasReturn isdo) {
var html = [];
htmlpush(<object type="application/xshockwaveflash" data="clipboardswf?gettext=UtilgetText&success=UtilsuccessHide" width="" height="" style="position:relative;top:px;left:px;" id="ff_clipboard_swf">);
htmlpush(<param name="quality" value="high" />);
htmlpush(<param name="allowScriptAccess" value="sameDomain" />);
htmlpush(<param name="allowFullScreen" value="true" />);
htmlpush(<param name="wmode" value="transparent" />);
htmlpush(</object>);
var yu=documentgetElementById(copy)innerHTML;
documentgetElementById(copy)innerHTML=yu+htmljoin();
UtilCACHECLIPBOARD_TEXT = pStr;
}
}
UtilCopy(zhaopin@beihaicom );
})();

  
如果要兼容ie還得加上

復制代碼 代碼如下:
if (windowclipboardData) {
windowclipboardDatasetData("Text"pStr);
UtilsuccessHide();
}

  
最後這樣能實現單擊復制文字並且兼容各浏覽器記住swf的路徑一定要對!如果不對是不出現手型的這是特征

復制代碼 代碼如下:

  
(function () {
window[Util] = {
CACHE:{}
getText : function(){
return UtilCACHECLIPBOARD_TEXT;
}
successHide : function(){
alert("復制北海網招聘郵件地址!");
}
Copy : function (pStrhasReturn isdo) {
var copy=documentgetElementById(copy);
if (windowclipboardData) {
copyonclick=function(){
windowclipboardDatasetData("Text"pStr);
UtilsuccessHide();
}
} else {
var html = [];
htmlpush(<object type="application/xshockwaveflash" data="clipboardswf?gettext=UtilgetText&success=UtilsuccessHide" width="" height="" style="position:relative;top:px;left:px;" id="ff_clipboard_swf">);
htmlpush(<param name="quality" value="high" />);
htmlpush(<param name="allowScriptAccess" value="sameDomain" />);
htmlpush(<param name="allowFullScreen" value="true" />);
htmlpush(<param name="wmode" value="transparent" />);
htmlpush(</object>);
var yu=copyinnerHTML;
copyinnerHTML=yu+htmljoin();
UtilCACHECLIPBOARD_TEXT = pStr;
}
}
}
UtilCopy(zhaopin@beihaicom );
})();


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19836.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.