javascript - 复制到剪贴板并在 Excel 中呈现为链接

标签 javascript jquery

我正在尝试从 div 元素复制内容并将其粘贴到 Excel 工作表中。

举个例子,我将 href 标签放在 div 元素中,并使用 document.execCommand("copy") 它已成功复制,但是当我尝试将其粘贴到 Excel 工作表中时,它直接作为 HTML 文本回显,而不是转换为链接。

我尝试在鼠标的帮助下复制链接并将其粘贴到 excel 中,然后它运行良好。这是我使用的示例脚本:

JS Bin

最佳答案

您可能需要重新考虑函数逻辑。你真的不需要屏幕外的临时 div 来复制到剪贴板。这是您可以执行的操作。

如您所料,该粘贴应作为 Excel 中的链接使用。

var copyBtn = $("#copy-btn");

function copyToClipboard() {
  var element = document.getElementById("copy-me");
  if (!element) {
    return;
  }

  var range;

  if (document.body.createTextRange) {
    range = document.body.createTextRange();
    range.moveToElementText(element);
    range.select();
  } else if (window.getSelection) {
    var selectedContent = window.getSelection();

    range = document.createRange();
    range.selectNodeContents(element);
    selectedContent.removeAllRanges();
    selectedContent.addRange(range);
  }
  document.execCommand("copy", false, null);

}

copyBtn.on('click', copyToClipboard);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div name="Element To Be Copied" id="copy-me">
  <a href="http://www.google.com">Google</a>
</div>
<button id="copy-btn">Copy</button>
<div>
  <textArea></textArea>
</div>

关于javascript - 复制到剪贴板并在 Excel 中呈现为链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40939555/

相关文章:

javascript - 根据下拉列表更改输入字段的标签

javascript - 用点符号创建一个对象

javascript - 动态按钮不调用功能

javascript - jsonp 结果不是函数

javascript - 保留 html.dropdownlist 中选定的值

javascript - ionic 隐藏导航栏而不是按钮

javascript - JQuery 使用自定义选择器和逻辑进行验证

javascript - jQuery 替换 html 文档中的开始和结束标记

javascript - 使用 jQuery 设置元标记

javascript - 控制拖动事件移动到特定的div