删除复制+粘贴的富文本格式?(跨浏览器)
Removing rich text formatting for copy + paste? (Cross Browser)
我不确定Javascript或CSS修复是否可以在我的网站上解决这个问题。这似乎只发生在Chrome上(不确定IE是否如此)。
每当用户从我的AspDotNetStorefront站点复制文本并将其粘贴到Word文档时,粘贴的文本包含灰色背景。我可以在我的网站上做些什么来防止这种富文本格式粘贴到文档上?
我不确定是什么原因造成的,除了微软Word的默认粘贴设置。
.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>
您可以截取复制事件,获得没有样式的选择,并将其放入剪贴板。
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();
});
您可以使用剪贴库https://github.com/mojombo/clippy添加一个复制到剪贴板按钮。这可以帮助删除格式
如果你不想使用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/
你的问题与javascript, html或css无关。
在Word中粘贴文本默认保持格式化。要在不格式化的情况下粘贴,用户需要右键单击Word文档并执行Paste Special...
.
相关文章:
- 24小时输入时间:mm格式跨浏览器
- 从服务器获取并传递给浏览器以在 Javascript 中格式化的日期时间格式
- 脚本链接格式以实现跨浏览器兼容性
- Moment.js:根据浏览器语言设置日期格式
- XML 解析错误:使用浏览器内置解析器解析 XML 字符串时格式不正确
- 日期格式在 Chrome 中给出的结果与其他浏览器中的结果不同
- Web 浏览器对看似格式错误的文件的容忍度
- 谷歌浏览器开发人员工具 - 分析结果文件格式
- Javascript 选择格式在浏览器中不起作用,而在 dreamweaver 中它确实如此
- 适用于浏览器的兼容日期格式
- 在浏览器中以一致格式获取元素背景颜色的可靠方法
- JavaScript日期专用格式保证在现代浏览器中被解释为本地时间
- jquery日期选择器在不同的浏览器上有不同的格式
- Ember、Handlebars、Contrib Ember模板在移动浏览器上生成格式错误的模板
- Opera浏览器支持所有视频格式吗
- 如何从浏览器将UInt8Array缓冲区写入媒体文件格式
- Chrome浏览器用删除T的格式设置日期和时间,当时间为零时,其他答案不起作用
- 如何设置当前日期取决于浏览器的日期格式
- 如何拖动数据(在uri格式)从浏览器到其他应用程序
- 如何检测浏览器定义的日期格式