Как мне сделать «выбрать все» и «скопировать в буфер обмена» с Javascript для метки asp:? - PullRequest
3 голосов
/ 25 февраля 2011

Я хочу скопировать содержимое ярлыка asp: используя javascript.

Я могу сделать это, используя этот метод:

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

, но он удаляет форматирование и просто копирует текст.(Я предполагаю, потому что формат данных установлен на «текст».)

Метка содержит некоторый форматированный HTML.Я хочу сохранить формат, получая тот же эффект, как если бы я выделил его на экране с помощью мыши, а затем скопировал (например) текстовый документ.

1 Ответ

1 голос
/ 25 февраля 2011

Обновлено

Далее будет выделен нужный элемент 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>
...