求个js复制剪切板的代码,要求兼容谷歌浏览器

s000rd 2010-09-25 05:39:43
解决立刻给分啊
...全文
853 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2010-09-27
  • 打赏
  • 举报
回复
处于安全原因,只能在onpaste事件里使用

http://developer.apple.com/library/mac/#documentation/AppleApplications/Conceptual/SafariJSProgTopics/Tasks/CopyAndPaste.html
孟子E章 2010-09-27
  • 打赏
  • 举报
回复
Chrome和Safari应该类似的。支持读取
someDomNode.onpaste = function(e) {
var paste = e.clipboardData && e.clipboardData.getData ?
e.clipboardData.getData('text/plain') : // Standard
window.clipboardData && window.clipboardData.getData ?
window.clipboardData.getData('Text') : // MS
false;
if(paste) {
// ...
}
};
  • 打赏
  • 举报
回复
去找一下JQ的剪贴板插件就可以了。
s000rd 2010-09-27
  • 打赏
  • 举报
回复
d
s000rd 2010-09-26
  • 打赏
  • 举报
回复
d
s000rd 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ibm_hoojo 的回复:]
JScript code
是获取剪贴板的内容,还是设置剪贴板的内容。
设置剪贴板内容
function browserCopy(text){
if(window.clipboardData){
window.clipboardData.clearData();
window.……
[/Quote]
不行呀,谷歌浏览器还是无法复制
hoojo 2010-09-25
  • 打赏
  • 举报
回复
是获取剪贴板的内容,还是设置剪贴板的内容。
设置剪贴板内容
function browserCopy(text){
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();
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);
}
}

如果是获取剪贴板的内容,先运行paste()方法,将内容贴到隐藏文本域中。再获取这个文本域的内容即可
execCommand paste也行
s000rd 2010-09-25
  • 打赏
  • 举报
回复
继续等

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧