如何使用Javascript为asp:标签执行“全选”和“复制到剪贴板”?

时间:2011-02-25 12:51:15

标签: javascript copy clipboard

我想使用javascript复制asp:标签的内容。

我可以使用这种方法:

strContent = document.getElementById('MainContent_lblHtml').innerText;
window.clipboardData.setData("Text", strContent);

但它会删除格式并只复制文本。 (我假设因为dataformat设置为“text”。)

标签包含一些格式化的html。我希望保留格式,获得相同的效果,就像我用鼠标在屏幕上突出显示它一样,然后复制到(例如)word文档中。

1 个答案:

答案 0 :(得分:1)

<强>更新

以下内容将突出显示所需的div,然后将HTML复制到剪贴板。转到Word并按 CTRL + V 将格式化的html粘贴到文档中。

<script type="text/javascript">
    function CopyHTMLToClipboard() {    
        if (document.body.createControlRange) {
            var htmlContent = document.getElementById('MainContent_lblHtml');
            var controlRange;

            var range = document.body.createTextRange();
            range.moveToElementText(htmlContent);

            //Uncomment the next line if you don't want the text in the div to be selected
            range.select();

            controlRange = document.body.createControlRange();
            controlRange.addElement(htmlContent);

            //This line will copy the formatted text to the clipboard
            controlRange.execCommand('Copy');         

            alert('Your HTML has been copied\n\r\n\rGo to Word and press Ctrl+V');
        }
    }    
</script>