浏览器复制插件zeroclipboard使用指南

  作者:bea

一个简单例子: <html> <body> <button id="copy-button" data-clipboard-text="Copy Me!" title="Click to copy me.">Copy to Clipboard</button> <script src="~/Scripts/jquery-1.7.1.js"></script> <script src="~/
一个简单例子:


<html>
<body>
<button id="copy-button" data-clipboard-text="Copy Me!" title="Click to copy me.">Copy to Clipboard</button>
<script src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/ZeroClipboard.js"></script>
</body>
<script>

var client = new ZeroClipboard( $("#copy-button") );
client.on('ready', function (event) {

client.on('copy', function (event) {
event.clipboardData.setData('text/plain', event.target.innerHTML);
alert("复制成功");
});

client.on('aftercopy', function (event) {
//复制之后的操作,如果不是自动在本页面粘贴,请把此事件备注掉
console.log('Copied text to clipboard: ' + event.data['text/plain']);
});
});

client.on('error', function (event) {
//出错的时候该干嘛
// console.log( 'ZeroClipboard error of type "' + event.name + '": ' + event.message );
ZeroClipboard.destroy();
});
</script>
</html>



2.2版本需要引用jquery,要习惯把js代码写到页面底部,经测试,发现此代码不支持IE10/11,以下提供兼容IE的function,替换js部分即可


<script>
$(function() {
var text="取文本";
var msg="复制成功";
clipboard("btn_copy",text,msg);
});

//参数说明
//button:按钮id
//text:要复制的文本
//msg:复制成功提示文本
function clipboard(button,text,msg) {

if (window.clipboardData) { //for ie
var copyBtn = document.getElementById(button);
copyBtn.onclick = function () {
window.clipboardData.setData('text', text);
alert(msg);
}
} else {
var client = new ZeroClipboard($("#" + button));
client.on('ready', function (event) {

client.on('copy', function (event) {
event.clipboardData.setData("text/plain", text);
alert(msg);
});
});

client.on('error', function (event) {
ZeroClipboard.destroy();
});
}
return false;
}
</script>



最后,需要注意的是不要在本地调度,你会发现不会生效,因为Flash的安全限制
zeroclipboard源码:https://github.com/zeroclipboard/zeroclipboard zeroclipboard官网:zeroclipboard.org


有用  |  无用

猜你喜欢