网站制作学习网JS脚本→正文:js双击复制支持火狐
字体:

js双击复制支持火狐

JS脚本 2011/3/31 16:15:27  点击:不统计

学习www.网for站asp制.cn作

双击复制text或者textarea里面的内容,在IE浏览器下很简单,但是在火狐下支持双击复制,比较复杂。下面的代码实现了javascript双击复制支持火狐等各种浏览器。
Code转自:http://bbs.blueidea.com/thread-2881897-1-9.html 文章 对其进行了简单的修改。

查看效果:js双击复制支持火狐

火狐js双击复制内容代码如下:

function copy(copycontent){
if(window.clipboardData){
window.clipboardData.clearData();
window.clipboardData.setData("Text", copycontent);
}else if(navigator.userAgent.indexOf("Opera") != -1){
window.location = copycontent;
}else if (window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}catch (e){
alert("您的当前浏览器设置已关闭此功能!请按以下步骤开启此功能!\n新开一个浏览器,在浏览器地址栏输入'about:config'并回车。\n然后找

到'signed.applets.codebase_principal_support'项,双击后设置为'true'。\n声明:本功能不会危极您计算机或数据的安全!");
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return false;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return false;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = copycontent;
str.data = copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
return true;
}
双击复制textarea内容,举例如下:我这里有jQuery的引入。
<script language="javascript" src="../js/jquery-1.4.4.min.js"></script>
<script language="javascript">
$(function(){
 $("textarea[name='other']").dblclick(function(){//双击复制textarea name=other里面的内容http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E
  if(copy($.trim($(this).val())))alert("复制成功!");
  });
});
</script>

经测试,在各种浏览器测试成功。关键词:双击复制支持火狐,火狐下双击复制
本代码是转自blueidea上面一个网友的发布,仅供学习参考。


·上一篇:当滚动条到图片才显示图片 >>    ·下一篇:js产品比较代码 >>
推荐文章
最新文章