How to copy table html (data and format) to clipboard using javascript (microsoft edge browser)(如何使用Java脚本(Microsoft Edge Browser)将表格html(数据和格式)复制到剪贴板)
问题描述
问题: 我已经附加了我的代码复制数据和格式的html表格到剪贴板如下。这段代码在Chrome上可以像我预期的那样工作,但在Microsoft Edge上却不能。我试过了,但找不到任何好的方法来让我的代码在边缘上完全像Chrome一样工作。对于这些情况有什么解决方案吗?
其他信息:
Chrome版本:78.0.3904.108
Edge版本:Microsoft Edge 44.17763.831.0-Microsoft EdgeHTML 18.17763
此驱动器链接包含我的Chrome和Edge浏览器代码的结果(粘贴到文本、Word和Excel文件): https://drive.google.com/open?id=155DWin26afHumem0tYircVsNojKPEl5M代码: https://jsfiddle.net/bj13nu9s/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table id="table">
<thead>
<tr>
<th>From</th>
<th>To </th>
<th>School</th>
<th>Class</th>
<th>Student Name</th>
<th>Student Code</th>
</tr>
</thead>
<tbody class="scroll-content">
<tr>
<td>2011/02/18</td>
<td>2011/02/19</td>
<td>Diet University</td>
<td>Classical Medley</td>
<td>John Wick</td>
<td>305179</td>
</tr>
<tr>
<td>2011/02/18</td>
<td>2011/02/19</td>
<td>Diet University</td>
<td>Classical Medley</td>
<td>John Wick</td>
<td>305179</td>
</tr>
<tr>
<td>2012/03/20</td>
<td>2015/03/20</td>
<td>Universal University</td>
<td>Memento Guitar</td>
<td>Daniel Johnson</td>
<td>60708090</td>
</tr>
<tr>
<td>2013/02/18</td>
<td>2018/02/19</td>
<td>Kurikuri University</td>
<td>Magic Chaos</td>
<td>Yugi Muto</td>
<td>12356789</td>
</tr>
<tr>
<td>2016/01/02</td>
<td>2019/02/19</td>
<td>Destroyer University</td>
<td>...</td>
<td>Santa Monica</td>
<td>64562107</td>
</tr>
</tbody>
</table>
<button type="button" id="copy_btn" onclick="selectElementContents( document.getElementById('table') );">Copy Table</button>
</body>
</html>
<script type="text/javascript">
function selectElementContents(el) {
let body = document.body, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(el);
sel.addRange(range);
} catch (e) {
range.selectNode(el);
sel.addRange(range);
}
} else if (body.createTextRange) {
range = body.createTextRange();
range.moveToElementText(el);
range.select();
}
document.execCommand("Copy");}
</script>
推荐答案
我尝试测试该问题,但我发现我可以产生该问题。
如果您在Word和Excel中的粘贴设置设置为仅保留文本,则可以看到表格格式不正确。
通常,当您使用CTRL+V粘贴时,它会使用仅保留文本格式。我建议您使用鼠标右键单击->粘贴(保留源代码格式)选项粘贴表格。
记事本没有任何格式选项,因此我们无法修复记事本的此问题。看起来这是在MS Edge浏览器中设计的。对于其他解决方法,您可以尝试使用MS Edge(Chromium)浏览器测试该问题。粘贴表格将保留记事本、Word和Excel中的格式。
这篇关于如何使用Java脚本(Microsoft Edge Browser)将表格html(数据和格式)复制到剪贴板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用Java脚本(Microsoft Edge Browser)将表格html(数据和格式)复制到剪贴板
基础教程推荐
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 动态更新多个选择框 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 响应更改 div 大小保持纵横比 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01