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


Автор: XLOR 10.9.2004, 19:40
Народ, помогите.... Мне нужен скрипт, что-то типа кнопки или ссылки при нажатии, на которую определённый текст или адрес помещается в буфер обмена... Вот так счёлк по ней и адрес скопировался, и не нужно всяких Ctrl+C. Тоесть адрес уже забит в эту ссылку...

Автор: Sardar 10.9.2004, 21:56
Смотрим сюда: http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/clipboarddata.asp
Вот пример:
Код
window.clipboardData.setData("text", "Bla bla");

Естествено что работать будет только в ИЕ.

Автор: XLOR 11.9.2004, 11:26
Это конечно всё хорошо, тока я чё то не втупился это лишь функция... мне бы скриптик целиком, потому как я ломак в этом деле, вот и стараюсь научиться, а строка:
window.clipboardData.setData("text", "Bla bla"); Мне ясности не даёт... вы уж извините.

Автор: Се ля ви 11.9.2004, 13:28
Код
<html><head><title></title></head><body><a href="javascript:window.clipboardData.setData('text', 'Bla bla');">Поместить текст 'Bla bla' в буфер обмена</a></body></html>

- например так: Будет по нажатию на ссылке выполняться действие. Если хочешь убрать надпись из статуса, пиши так:
Код
<html><head><title></title></head><body><a href="#" onclick="window.clipboardData.setData('text', 'Bla bla'); return false;">Поместить текст 'Bla bla' в буфер обмена</a></body></html>

Ну а если захочешь одновременно с помещением данных в буфер, ещё и куда-то перейти, пиши так:
Код
<html><head><title></title></head><body><a href="http://www.domain2go.ru" onclick="window.clipboardData.setData('text', 'Bla bla');">Поместить текст 'Bla bla' в буфер обмена и перейти на www.domain2go.ru</a></body></html>

Работать будет только в Internet Explorer`е.

Автор: XLOR 11.9.2004, 18:52
Классно! Спасибо! Но есть ещё вопросик, неужели движок Opera так сильно отличается от движка IE! Значит под оперу скрипт незя переделать?

Вот смотри чего мне дали в другом форуме, но это тоже работает тока в IE! А хотелось бы и в Opere:

Код
<script language="javascript" type="text/javascript">

function copy_clip(whattext)

{ if (window.clipboardData)

{window.clipboardData.setData("Text", whattext);}

else if (window.netscape) {

 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

 var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);

 if (!clip) return;

 var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);

 if (!trans) return;

 trans.addDataFlavor('text/unicode');

 var str = new Object();

 var len = new Object();

 var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

 var copytext=whattext;

 str.data=copytext;

 trans.setTransferData("text/unicode",str,copytext.length*2);

 var clipid=Components.interfaces.nsIClipboard;

 if (!clip) return false;

 clip.setData(trans,null,clipid.kGlobalClipboard);}

 return false;}

</script>  

<a href="#" onClick="return copy_clip('Тект который надо скопировать в буфер обмена')">Скопировать в клипбоард</a>


Чё то сильно мутно конечно, у тебя попроще! хе-хе....

Автор: Cache'Var 12.9.2004, 10:34
Судя по скрипту работает также в НН.

Автор: XLOR 12.9.2004, 11:33
Ну могет быть а для Оперы мона замутить?

Автор: XLOR 12.9.2004, 21:55
И тишина...

Автор: sergejzr 12.9.2004, 23:55
С оперой много чего не замутить...
Так же как имне, тебе наверное остаётся только ждать, пока там разработчики оперы в своих ошибках разберуться sad.gif

Автор: Aliance 14.9.2004, 22:46
XLOR
sergej.z
Я вообще Оперу-то видел 1 раз всего, но опытные в ней люди говорят, что при правильных настройках многое можно совместить с IE 5.5+

Автор: sergejzr 14.9.2004, 22:55
Цитата(Aliance @ 14.9.2004, 21:46)
но опытные в ней люди говорят, что при правильных настройках многое можно совместить с IE 5.5+


Гы smile.gif Ну да, Заходишь на страницу, а там пишется
"У вас Опера! Для того, чтобы пользоваться этой страницей зайдите в меню настройки, там выберите......" итд. biggrin.gif biggrin.gif

Автор: Данил 20.5.2005, 00:51
Се ля ви
Подскажите пож. все работает так как Вы написали, но ц меня еще один вопрос :
Я вставляю ('text', 'вот сюда') код для обмена ссылками но у меня вместо
Поместить текст 'Bla bla' в буфер обмена - выдает мою ссылку и остаток кода smile
Может можно это как-то побороть ???
Зараннее СПАСИБО !

Автор: Aliance 20.5.2005, 01:04
Данил
Регистрируйся smile

Заведи отдельный топик, опиши проблему, кинь код...

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