在我的一个网站上,我使用了& shy; 来自由地在网络浏览器中提供更好的连字符。不幸的是,它们通过复制或剪切和粘贴而被破坏,所以当人们从我的网站上复制时,那些与ex-tra hy-phens相关的ar-tic-les ap-pear真的很烦人。我在这里夸大了一点,但你明白了。
我喜欢在副本上过滤选择的方法 - 基本上是在他们到达剪贴板之前删除& shy;的机会。 我怀疑这是不可能的,基于我读过/研究过的内容,但我想我会在这里问集体智慧,以防我错过了什么。
一个美丽的伪代码示例:
element.oncopy = function (ev) {
ev.selection.replace(/­/g, '');
return true; // or ev, I suppose
}
答案 0 :(得分:3)
查看有关oncopy
事件的这篇文章。我认为这正是您所需要的:http://help.dottoro.com/ljwexqxl.php。
下一页的示例#2解释了如何以跨浏览器友好的方式使用剪贴板(因为只有IE可以访问第一篇文章中使用的clipboardData
对象):http://help.dottoro.com/ljxundda.php < / p>
该页面还提到有些情况下安全限制可能会阻止跨浏览器方法的工作,这就是为什么有些网站使用Flash操作剪贴板的原因。这是一篇讨论该方法的文章,如果它听起来像你想要的那样:http://www.jeffothy.com/weblog/clipboard-copy/
修改强>
看看Hyphenator.js。它是一种在客户端智能地连接文本的JavaScript方法。快速播放演示(which can be found here),似乎将连字符从复制的文本中删除。更改内容以使用此内容而不是­
可能会很痛苦,但看起来它会实现您的所有目标。