Копирование...
Как можно с помощью ссылки (или кнопки), после передачи фокуса форме (или сразу), скопировать данные из формы в буфер обмена windows?
Всем спасибо!!!
Синтаксис: window.clipboardData
Изменяемое: нет
Значением свойства clipboardData является объект, обеспечивающий доступ к системному буферу сохранения. Буфер сохранения в Windows поддерживает пять форматов хранения данных, которые в DHTML обозначаются так:
"Text" Текстовый формат
"URL" Формат URI
"File" Файловый формат
"HTML" Формат HTML
"Image" Формат графического образа
Этот объект не имеет свойств и поддерживает следующие методы:
clearData(формат?) Удаляет заданный формат из буфера сохранения. Если формат не задан, то удаляются все форматы.
getData(формат) Извлекает данные из буфера сохранения заданного формата, который может иметь значение "Text" или "URL", и возвращает их в виде строки.
setData(формат, данные) Помещает в буфер сохранения строку данные в заданном формате, который может иметь значение "Text" или "URL". Возвращает true в случае успеха и false в противном случае.
Пример использования clipboardData для вырезания текста на Веб-странице и вставки его в другое место:
Код:
<HTML>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<HEAD>
<SCRIPT>
// Выделяем текст, который следует вырезать
function selectText() {
var r = document.body.createTextRange();
r.findText(divSource.innerText);
r.select();
}
// По умолчанию вырезание текста в IE запрещено. Следующая функция его разрешает.
function enableCut() {
event.returnValue = false;
}
// По умолчанию вставка из буфера в IE запрещена. Следующая функция его разрешает.
function enablePaste() {
event.returnValue = false;
}
// Вставляем текст из буфера сохранения и сбрасываем returnValue,
// чтобы отменить реакцию обозревателя по умолчанию.
function pasteText() {
var r = document.selection.createRange();
r.text = clipboardData.getData("Text");
}
</SCRIPT>
</HEAD>
<BODY onload="selectText()">
<DIV ID="divSource" onbeforecut="enableCut()">Вырежьте этот текст</DIV>
<DIV onbeforepaste="enablePaste()" onpaste="pasteText()">
Вставьте текст сюда
</DIV>
</BODY>
</HTML>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<HEAD>
<SCRIPT>
// Выделяем текст, который следует вырезать
function selectText() {
var r = document.body.createTextRange();
r.findText(divSource.innerText);
r.select();
}
// По умолчанию вырезание текста в IE запрещено. Следующая функция его разрешает.
function enableCut() {
event.returnValue = false;
}
// По умолчанию вставка из буфера в IE запрещена. Следующая функция его разрешает.
function enablePaste() {
event.returnValue = false;
}
// Вставляем текст из буфера сохранения и сбрасываем returnValue,
// чтобы отменить реакцию обозревателя по умолчанию.
function pasteText() {
var r = document.selection.createRange();
r.text = clipboardData.getData("Text");
}
</SCRIPT>
</HEAD>
<BODY onload="selectText()">
<DIV ID="divSource" onbeforecut="enableCut()">Вырежьте этот текст</DIV>
<DIV onbeforepaste="enablePaste()" onpaste="pasteText()">
Вставьте текст сюда
</DIV>
</BODY>
</HTML>
Огромное спасибо за столь развернутый ответ!