js 跨 firefox ie 的复制,粘贴功能做法
2009-11-25 17:29
489 查看
问题内容:
Firefox实现IE下的复制粘贴功能
原讨论链接:
http://community.csdn.net/expert/topicview1.asp?id=5115440
所属论坛:
JavaScript
审核组:
WEB开发
提问者:
wab81923
解决者:
brothercat
感谢:
关键字:
JavaScript
Web 开发
网址
input
value
type
return
txt
var
clip
components.classes
答案:
function cpylink(btn,obj)
{
therange=obj.createTextRange();
therange.execCommand("copy");
btn.value = " 复制完毕 ";
}
<input type="hidden" id="myurl" name="myurl" size="10" value='www.zyqRadio.com'>
<input type="button" value=" 复制本站网
址 " name="B3" onclick="javascript:cpylink(this,document.getElementById('myurl'))" >
---------------------------------------------------------------
FF里这个问题比较麻烦,因为大部分情况FF里处于安全考虑都会禁用复制功能,所以首先你要在FF浏览器的地址栏里输
入:about:config 设置"signed.applets.codebase_principal_support"选项的值为true,然
后照下面代码来写:
===============================================================================
<html>
<head>
<title>兼容的复制功能</title>
<script>
function copylink(btn,inputtxt)
{
var therange=inputtxt.value;
copyToClipboard(therange);
btn.value = " 复制完毕 ";
}
function copyToClipboard(txt) {
if(window.clipboardData)
{
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt);
}
else if(navigator.userAgent.indexOf("Opera") != -1)
{
window.location = txt;
}
else if (window.netscape)
{
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e)
{
alert("此操作被浏览器拒绝!/n请在浏览器地址栏输入“about:config”并回车/n然后将[signed.applets.codebase_principal_support]设置为'true'");
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return;
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 = txt;
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;
}
</script>
</head>
<body>
<input type="hidden" id="hiddenurl" size="10" value="www.csdn.net">
<input type="button" value=" 复制本站网
址 " name="B3" onclick="javascript:copylink(this,document.getElementById('hiddenurl'))" >
</body>
</html>
相关文章推荐
- js 文本框禁止粘贴复制功能
- 常用的JS屏蔽功能(右键、查看源文件、复制、剪切、粘贴、后退、F1、F5、Ctrl+N、Shift+F10、Alt+F4)
- JS禁用右键,复制,粘贴等功能
- 利用JS实现复制/粘贴功能
- js 文本框禁止粘贴复制功能
- JS实现复制和粘贴功能
- JS实现复制/粘贴功能
- JS实现复制/粘贴功能
- JS禁止鼠标右键、禁止全选、复制、粘贴的方法(所谓的防盗功能)
- JS 复制/粘贴功能
- 如何利用JS实现复制/粘贴功能
- js实现pc浏览器复制粘贴功能
- js 文本框禁止粘贴复制功能
- js 复制粘贴功能记录
- js 实现复制到粘贴板的功能代码
- 使用js实现复制到粘贴板的功能
- JS实现网站内容的禁止复制和粘贴、另存为
- Zero Clipboard js+swf实现的复制功能使用方法
- js实现firefox、chrome、ie浏览器复制功能
- 实现文本粘贴复制功能