Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Копирование в буфер обмена


Автор: Aliance 13.4.2005, 21:25
Не получается примитивная вещь: копирование в буфер обмена value из textarea smile
Прочел похожие топики, попытался заюзать (сначала мелких код для IE only). Вау, все работает...работало...
Вдруг ни с того ни с сего перестало =( Помогите с реалзацией задачи (канечно, желательно бы включать не только ИЕ....)
smile
Добавлено @ 21:26
Алгоритм таков:
имеем textarea -
Код

<textarea id="editor"></textarea>


Нужно по клику на кнопке прочитать ее значение и добавить автоматом в буфер обмена юзера. smile

Автор: Sardar 13.4.2005, 23:54
А в чём конкретно проблема? Разжёванно же:
http://forum.vingrad.ru/index.php?showtopic=36894
http://forum.vingrad.ru/index.php?showtopic=27585
http://forum.vingrad.ru/index.php?showtopic=29458

Автор: Aliance 14.4.2005, 13:27
Сам не знаю. Читал про это http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/clipboarddata.asp - не помогло =(
Точнее сначало все работало, почему перестало не знаю (ведь ничего не менял!)
Я юзал скрипт Alx, http://forum.vingrad.ru/index.php?showtopic=27585&view=findpost&p=246493.
В чем может быть проблема?

Автор: Sardar 14.4.2005, 15:07
Покажи код.

Автор: Aliance 14.4.2005, 15:20
Код

function copy() {
 var text = document.getElementById("editor").value;
 if (text != "") {
    window.clipboardData.setData('text', text);
 } else {
    alert('Поле пустое. Нечего копировать.\n\n\t\t\t\t© Aliance');
 }
}

Автор: Sardar 14.4.2005, 21:54
А если так:
Код
document.getElementById("editor").createTextRange().execCommand("Copy");

Пока ИЕ only

Автор: Aliance 14.4.2005, 22:01
А полностью html код кинешь? А то я не могу понять как мы создавая Range() можем Copy =/

Автор: Sardar 14.4.2005, 22:29
createTextRange метод возвратит нам TextRange обьект, который в ответе за некоторый кусок текста(весь) в нашем текстовом поле.
Здесь смотрим на его интерфейс: http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp
Конкретно на execCommand.

Автор: Aliance 14.4.2005, 22:43
Разобрался. Но почему прошлый пример перестал работать smile все еще остается загадкой smile

Автор: Aliance 16.4.2005, 17:50
Все, я понял почему предыдуший код не работал.
Моя функция называлась copy, т.е. ее вызывать приходилось так: copy(), видимо это зарезервированное слово smile

Автор: Sardar 16.4.2005, 18:29
Полезное замечание. Сам сталкивался что ИЕ подглючивает если используются "зарезервированные" имена, например parent, child и т.д.


Автор: Aliance 16.4.2005, 20:37

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)