一段跨浏览器的"复制到剪贴板"javascript代码
2007-04-24 18:33
736 查看
代码如下,就不多说废话了,可以兼容基本上所有的主流浏览器(IE,FF),很多地方可以用到的:
copyToClipboard = function(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(”您的firefox安全限制限制您进行剪贴板操作,请打开’about:config’将signed.applets.codebase_principal_support’设置为true’之后重试”);
return false;
}
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);
}
}
copyToClipboard = function(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(”您的firefox安全限制限制您进行剪贴板操作,请打开’about:config’将signed.applets.codebase_principal_support’设置为true’之后重试”);
return false;
}
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);
}
}
相关文章推荐
- 一段跨浏览器的"复制到剪贴板"javascript代码
- 一段多浏览器的"复制到剪贴板"javascript代码
- 一段多浏览器的"复制到剪贴板"javascript代码
- 获取日期时间星期的"JAVASCRIPT代码"
- 【编程之旅】一段大牛写的"奇幻代码"
- 各位朋友对" JavaScript挑战赛--随机颜色"的挑战代码
- "Lc.exe已退出,代码为-1" 错误处理办法
- JavaScript 复制功能代码 兼容多浏览器
- sql server 删除数据库出现"因为它正用于复制"的错误解决办法
- Adobe Reader "复制到剪贴板时发生错误。出现内部错误。" 解决办法
- "lc.exe"已退出 代码为-1 的解决方法
- 有关"集成搜索"的javascript代码
- 使用用JavaScript或Jquery获取标准下拉框的"选中值"和"选中文本"
- Android webview调用js代码无效 webView.loadUrl("javascript:alert('hello')")
- <a href="javascript:void(0);">用法
- "我会写代码呀,为什么谷歌不要我?"
- 一段精简的使用 ADODB.Stream 读写"大字段"的 VB 代码
- <input type="text" 鼠标移动去清空默认value onclick=javascript:this.value=''
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- JavaScript 检测浏览器更多信息【每日一段代码66】