gpt4 book ai didi

javascript - 如何使用javascript(microsoft Edge浏览器)将表html(数据和格式)复制到剪贴板

转载 作者:行者123 更新时间:2023-12-02 22:22:51 25 4
gpt4 key购买 nike

问题: 我已将复制数据和 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进行粘贴时,它会使用仅保留文本格式。我建议您使用单击鼠标右键 -> 粘贴(保留源格式)选项来粘贴表格。

enter image description here

记事本没有任何格式化选项,因此我们无法修复记事本的此问题。看起来这是 MS Edge 浏览器设计的。

对于其他解决方法,您可以尝试使用 MS Edge (Chromium) 浏览器测试该问题。粘贴表格将保留记事本、Word 和 Excel 中的格式。

关于javascript - 如何使用javascript(microsoft Edge浏览器)将表html(数据和格式)复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59168889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com