js内容复制到剪切板

对于 Internet Explorer
function copyToClipBoard(copyText) {
if (window.clipboardData) { // ie
window.clipboardData.setData(“Text”, copyText);
}
}

很简单~

对于其他浏览器,google了半天,发现不太好搞,比如
对于firefox,要让网站的js有使用剪切板的权限是要用户授权

看来就靠js是很难搞定了,还是得要靠外援flash呀。

兼容主流浏览器的最终解决方案

使用ZeroClipboard。

原理

把一个不可见的 Adobe Flash movie元素放到一个DOM元素上。用户点击那DOM元素时,其实点击的是那不可见的Adobe Flash movie元素,Flash代码来做将内容复制到剪切板的操作。

注意:如果用js模拟一个在那flash上的点击事件,并不能进行复制内容到剪贴板。原因是浏览器和flash的安全限制。

使用

html





复制到剪贴板





js

//配置ZeroClipboard.swf
ZeroClipboard.config({
swfPath: ‘./vendor/ZeroClipboard.swf’
});

//初始化
var client = new ZeroClipboard(document.getElementById(“copy-button”));

client.on(“ready”, function(readyEvent) {
client.on(“copy”, function(event) {
var clipboard = event.clipboardData;
var copyText = $(‘#copy-input’).val();
clipboard.setData(“text/plain”, copyText); // 将内容添加到剪切板
});
});
注意:由于要使用flash的缘故,一定要在服务器上运行这个demo。这里推荐个基于nodejs的静态服务器anywhere。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值