Javascript 如何使用零剪贴板和窗口处理换行符?
我在处理换行符时遇到了使用ZeroClipboard的问题 我的想法是将一些HTML内容复制到内部剪贴板并粘贴到Win32应用程序中,我指的是一些商业应用程序,但在这种情况下,它的行为就像简单的记事本 当将数据粘贴到web浏览器Chrome或其他一些文本编辑应用程序(如记事本+)时,一切正常,但当文本粘贴到记事本时,断线不会保留-在CRLF的交换中,有一些未知字符 以下是示例代码:Javascript 如何使用零剪贴板和窗口处理换行符?,javascript,windows,line-breaks,zeroclipboard,Javascript,Windows,Line Breaks,Zeroclipboard,我在处理换行符时遇到了使用ZeroClipboard的问题 我的想法是将一些HTML内容复制到内部剪贴板并粘贴到Win32应用程序中,我指的是一些商业应用程序,但在这种情况下,它的行为就像简单的记事本 当将数据粘贴到web浏览器Chrome或其他一些文本编辑应用程序(如记事本+)时,一切正常,但当文本粘贴到记事本时,断线不会保留-在CRLF的交换中,有一些未知字符 以下是示例代码: <?php $ClipboardText = pack("a*CCa*", "xxx", $newL
<?php
$ClipboardText = pack("a*CCa*", "xxx", $newLine0, $newLine, "yy");
print '<button id="d_clip_button" class="d_clip_info" data-clipboard-text="'.$ClipboardText.'">Copy text</button>';
?>
<script>
$(function() {
var clip = new ZeroClipboard($(".d_clip_info"));
});
</script>
我终于在ZeroClipboard中做了一个调整来处理它,下面是
var _setData = function(format, data) {
var dataObj;
if (typeof format === "object" && format && typeof data === "undefined") {
dataObj = format;
ZeroClipboard.clearData();
} else if (typeof format === "string" && format) {
dataObj = {};
dataObj[format] = data;
} else {
return;
}
for (var dataFormat in dataObj) {
if (typeof dataFormat === "string" && dataFormat && _hasOwn.call(dataObj, dataFormat) && typeof dataObj[dataFormat] === "string" && dataObj[dataFormat]) {
// Here is the tweak to replace all \n with \r\n characters in data sended to clipboard
_clipData[dataFormat] = dataObj[dataFormat].replace(/\n/g, "\r\n");
}
}
};