代码之家  ›  专栏  ›  技术社区  ›  Brian Scott

将元素作为HTML复制到剪贴板

  •  3
  • Brian Scott  · 技术社区  · 15 年前

    我设法写了一些jquery来查找一个元素,并将它的HTML复制到剪贴板(仅IE)。

    问题是,当我将它粘贴到SharePoint的富文本框区域时,它只将HTML粘贴为文本。

    如何复制用户在页面上突出显示链接并按“复制”的操作。当我手动执行此操作,然后粘贴剪贴板内容时,富文本区域会意识到它是标记,并将链接复制为文本内容中的锚定。

    2 回复  |  直到 7 年前
        1
  •  2
  •   T.J. Crowder    15 年前

    不幸的是,据我所知,IE提供给剪贴板的唯一编程访问允许您设置文本数据和URL数据,但没有其他内容: http://msdn.microsoft.com/en-us/library/ms536744(v=VS.85).aspx

    这工作:

    window.clipboardData.setData("text", "<div>Testing</div>");
    

    …但有你提到的问题吗?遗憾的是,这行不通:

    window.clipboardData.setData("html", "<div>Testing</div>");
    

    真的有点奇怪。

        2
  •  1
  •   Ben Janos    7 年前

    这是我用来将超链接HTML元素复制/粘贴到剪贴板的方法,这样当您粘贴超链接HTML元素时,它就会被隐藏,并且您只能看到“prettier”名称。

    HTML:

    <button onclick="copyToClipboard()">Copy me!</button>
    

    Javascript:

    var copyToClipboard = (function() {
        var _dataString = null;
        $('.transform').toggleClass('transform-active');
        document.addEventListener("copy", function(e){
            if (_dataString !== null) {
                try {
                    e.clipboardData.setData("text/html", link);
                    e.preventDefault();
                } finally {
                    _dataString = null;
                }
            }
        });
        return function(data) {
            _dataString = data;
            document.execCommand("copy");
        };
    })();