3

我不确定 Javascript 或 CSS 修复是否可以在我的网站上解决此问题。这似乎只发生在 Chrome 上(还不确定 IE)。

每当用户从我的 AspDotNetStorefront 站点复制文本并将其粘贴到 Word 文档中时,粘贴的文本都会包含灰色背景。我可以在我的网站上做些什么来防止这种富文本格式粘贴功能到文档上吗?

除了 Microsoft Word 的默认粘贴设置之外,我不确定这是什么原因。

4

5 回答 5

1

.unselectable{
   position:absolute;
   z-index:1;
   color:green;
   -webkit-user-select:none;
}
.selectable{
   position:absolute;
   z-index:2;
   color:rgba(0,0,0,0);
   -webkit-user-select:text;
}
<p class="unselectable">Lorem</p>
<p class="selectable">Lorem</p>

于 2015-01-19T12:49:44.133 回答
1

您可以拦截复制事件,获取没有样式的选择,然后将其放入剪贴板。

document.addEventListener('copy', function(e) {
  const text_only = document.getSelection().toString();
  const clipdata = e.clipboardData || window.clipboardData;  
  clipdata.setData('text/plain', text_only);
  clipdata.setData('text/html', text_only);
  e.preventDefault();
});
于 2019-05-15T20:58:03.640 回答
0

您可以使用 clippy 库https://github.com/mojombo/clippy将副本添加到剪贴板按钮。这可以帮助删除格式。

于 2014-07-18T18:19:08.163 回答
0

如果您不想使用 Flash,可以尝试这样的操作,以便在不格式化的情况下轻松复制文本:

CSS:

#box {background-color:gray; color:white;width:200px;height:400px;align:center;margin-left:50px;padding:30px}
#copy {position:fixed;top:15px;left:200px;text-decoration:underline}

HTML:

<div id="box">
    <div id="copy" onclick="selectable('p')">Click to select text</div>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla lacinia eros et justo pulvinar pulvinar. Pellentesque nec nisl feugiat, cursus lorem sed, venenatis sem. Curabitur vitae commodo ante, a pellentesque ligula. Morbi sit amet tincidunt ipsum. Fusce rutrum massa at velit dignissim accumsan. Donec hendrerit lorem sed leo viverra, vel cursus sapien lobortis. Praesent quis ligula non justo rhoncus placerat eu non leo. Pellentesque vitae congue enim. Quisque eget turp</p></div> 

JavaScript:

selectable=function(selector){
    var $elem=$(selector);
    innerHTML=$(selector).html()  ;
    $elem.hide();
    $elem.parent().append($('<textarea />').val(innerHTML).css({height:'400px'}));
    $('textarea').select();
};

代码并不漂亮,只是为了演示这个概念。

JSFIDDLE:http: //jsfiddle.net/rXG2G/

于 2014-07-18T18:52:02.357 回答
-1

您的问题与 javascript、html 或 css 无关。

默认情况下,在 Word 中粘贴文本会保留格式。要粘贴而不格式化,用户需要右键单击 Word 文档并执行Paste Special....

于 2014-07-18T18:19:32.140 回答