File: /www/wwwroot/bs.kntsleep.com/system/extend/ueditor/_src/plugins/copy.js
UE.plugin.register("copy", function() {
var me = this;
function initZeroClipboard() {
ZeroClipboard.config({
debug: false,
swfPath:
me.options.UEDITOR_HOME_URL +
"third-party/zeroclipboard/ZeroClipboard.swf"
});
var client = (me.zeroclipboard = new ZeroClipboard());
// 复制内容
client.on("copy", function(e) {
var client = e.client,
rng = me.selection.getRange(),
div = document.createElement("div");
div.appendChild(rng.cloneContents());
client.setText(div.innerText || div.textContent);
client.setHtml(div.innerHTML);
rng.select();
});
// hover事件传递到target
client.on("mouseover mouseout", function(e) {
var target = e.target;
if (target) {
if (e.type == "mouseover") {
domUtils.addClass(target, "edui-state-hover");
} else if (e.type == "mouseout") {
domUtils.removeClasses(target, "edui-state-hover");
}
}
});
// flash加载不成功
client.on("wrongflash noflash", function() {
ZeroClipboard.destroy();
});
// 触发事件
me.fireEvent("zeroclipboardready", client);
}
return {
bindEvents: {
ready: function() {
if (!browser.ie) {
if (window.ZeroClipboard) {
initZeroClipboard();
} else {
utils.loadFile(
document,
{
src:
me.options.UEDITOR_HOME_URL +
"third-party/zeroclipboard/ZeroClipboard.js",
tag: "script",
type: "text/javascript",
defer: "defer"
},
function() {
initZeroClipboard();
}
);
}
}
}
},
commands: {
copy: {
execCommand: function(cmd) {
if (!me.document.execCommand("copy")) {
alert(me.getLang("copymsg"));
}
}
}
}
};
});