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


Автор: Данил 20.5.2005, 03:44
Первое сделал !
Проблема такая
Код

<a href="#" onclick="window.clipboardData.setData('text', '
вот сюда вставляю код для обмена ссылками
<!-- Sutki begin --> <a href="http://www.sutki.h14.ru"> <img src="http://www.sutki.h14.ru/
ban/sutki.gif" boarder="0" alt="sutki.h14.ru - Квартиры ПОСУТОЧНО в городе Киеве ! Большой выбор квартир от простых до класса люкс..." width="88" height="31" target=_blank border="0"></a> <!-- Sutki end -->
'); return false;"> Скопировать в буфер </a>


Но IE не понимает что я не хочу чтобы он выдавал ссылку, а получается вот что,
кинул для примера /не реклама/ www.sutki.h14.ru/1.html
Помогите умные люди, как эту беду побороть, вроде как-то можно тегом <id> но что-то у меня ничего не получилось. smile
Спасибо !

М
 
На форуме есть вып. список Code. Пользуйся им. Нажимай на стрелочку и выбирай нужный.

Автор: Gregof 20.5.2005, 07:28
Проблема в кавычках, вынеси значение в отдельную функцию или переменную.
Код

<a href="#" onclick="window.clipboardData.setData('text',getTextForClipboard()); return false;"> Скопировать в буфер </a>


Код

getTextForClipboard=function(){
return '<!-- Sutki begin --><a href="http://www.sutki.h14.ru"> <img src="http://www.sutki.h14.ru/ban/sutki.gif" boarder="0" alt="sutki.h14.ru - Квартиры ПОСУТОЧНО в городе Киеве ! Большой выбор квартир от простых до класса люкс..." width="88" height="31" target=_blank border="0"></a> <!-- Sutki end -->';
}


Автор: Aliance 20.5.2005, 09:19
Gregof
Зачем такое поведение? Опера такое не любит, вроде.

Просто используем escape-последовательности:
Код

<a href="javascript://" onclick="clipCopy()">Скопировать в буфер</a>


Код

function clipCopy() {
   var myText = "<a href=\"http://www.sutki.h14.ru\"> <img src=\"http://www.sutki.h14.ru/ban/sutki.gif\" boarder=\"0\" alt=\"sutki.h14.ru\" width=\"88\" height=\"31\" target=\"_blank\" border=\"0\"></a>";
   window.clipboardData.setData('text', myText);
}

Автор: Gregof 20.5.2005, 13:36
Цитата(Aliance @ 20.5.2005, 09:19)
Зачем такое поведение? Опера такое не любит, вроде.

Пример был состряпан на скорую руку из того что выложил Данил. Так что изяществом не обладает. А насчет Оперы я не волновался, этот код вообщем то "IE only",а как сделать подобное в ней я не знаю.
Данил насчет вставки данных в буфер обмена на форуме писали здесь: http://forum.vingrad.ru/index.php?showtopic=27585&st=0&unread=#entry246519

Автор: Данил 20.5.2005, 14:23
Цитата(Gregof @ 20.5.2005, 07:28)
Проблема в кавычках, вынеси значение в отдельную функцию или переменную.

СПАСИБО !!! Так все работает, но есть еще один вопрос ?
Я в этом деле новенький, поэтому вопрос наверно глупый !
как сделать разные переменные т.к. у меня 3 кода ?
Зараннее СПАСИБО !

Автор: Gregof 20.5.2005, 16:12
переделаем пример Aliance
Код

<a href="javascript://" onclick="clipCopy(1)">Скопировать в буфер</a>
<a href="javascript://" onclick="clipCopy(2)">Скопировать в буфер</a>

Код

function clipCopy(id) {
   var myText;
   if(id==1) myText= "<a href=\"http://www.sutki.h14.ru\"> <img src=\"http://www.sutki.h14.ru/ban/sutki.gif\" boarder=\"0\" alt=\"sutki.h14.ru\" width=\"88\" height=\"31\" target=\"_blank\" border=\"0\"></a>";
   else if(id==2) myText= "что то другое";
   window.clipboardData.setData('text', myText);
}

Можно сделать и красивее, но идея будет такой же.

Автор: Данил 20.5.2005, 16:21
Что-то не получается !
Делаю так :
1 создаю фаил name.js, вставляю туда код Javascript
Код

function clipCopy(id) {
   var myText;
   if(id==1) myText= "<a href=\"http://www.sutki.h14.ru\"> <img src=\"http://www.sutki.h14.ru/ban/sutki.gif\" boarder=\"0\" alt=\"sutki.h14.ru\" width=\"88\" height=\"31\" target=\"_blank\" border=\"0\"></a>";
   else if(id==2) myText= "что то другое";
   window.clipboardData.setData('text', myText);
}

2 вставляю в html документ строки
Код

<script language="JavaScript" src="name.js"></script>

и
Код

<a href="javascript://" onclick="clipCopy(1)">Скопировать в буфер</a>
<a href="javascript://" onclick="clipCopy(2)">Скопировать в буфер</a>

Но что-то не работает ничего !
Может я что-то делаю не так ?

Автор: Aliance 20.5.2005, 16:51
Данил
Нужно создавать отдельную тему. Разделяю...

Цитата(Gregof @ 20.5.2005, 14:36)
Пример был состряпан на скорую руку из того что выложил Данил. Так что изяществом не обладает. А насчет Оперы я не волновался, этот код вообщем то "IE only",а как сделать подобное в ней я не знаю.

Понятно что IE only. Это я по привычке заметил =)
А вообще если воспользоваться поиском - можно найти решение для всех браузеров ))

Автор: Данил 20.5.2005, 17:08
Цитата(Aliance @ 20.5.2005, 16:51)
А вообще если воспользоваться поиском - можно найти решение для всех браузеров ))

Пользуюсь уже два дня ! Но ничего так и не нашел smile

Цитата(Aliance @ 20.5.2005, 16:51)
Нужно создавать отдельную тему.

Ок ПОНЯЛ !

Автор: Данил 20.5.2005, 18:39
Все разобрался ! Всем ОГРОМНОЕ СПАСИБО !!!

Автор: Sardar 20.5.2005, 19:12
А зачем извращаться с идентификаторами, неужени сложно заэкранировать строку и передать параметром функции clipCopy("твоя строка?")

Для мозиллы Gregof уже дал ссылку, под Оперу такое пока не прокатит(8мую не смотрел...).

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