Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.07.2008, 10:09
Новичок на форуме
Отправить личное сообщение для Павел Посмотреть профиль Найти все сообщения от Павел
 
Регистрация: 18.07.2008
Сообщений: 2

копирование в Буфер при клике на картинку
Доброго времени суток! только начал изучать JS, поэтому прошу не кидать камнями за ,возможно, простой вопрос:

Есть html страничка с множеством картинок. нужно при клике на одной из них записать выражение в буфер обмена, соответсвенно, разные выражения для разных картинок.
Сразу скажу - нужно, что бы работало под мозиллой....
http://webchicanery.com/code/clipbjavascript.zip вот скрипт сценария, который возможно можно доработать.

Последний раз редактировалось Павел, 18.07.2008 в 15:21.
Ответить с цитированием
  #2 (permalink)  
Старый 19.07.2008, 18:12
Новичок на форуме
Отправить личное сообщение для Павел Посмотреть профиль Найти все сообщения от Павел
 
Регистрация: 18.07.2008
Сообщений: 2

Немного не ясно выразился. По событию онклик на картинке должен срабатывать скрипт, который запишет в буфер обмена комментарий к картинке (alt.) такое вообще реально сделать?
Ответить с цитированием
  #3 (permalink)  
Старый 19.07.2008, 19:59
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Это реально сделать, но не так просто, как может показаться.
Вот статейка на эту тему. Можете попробовать использовать код из этой статьи:
function copyToClipboard(content) {
	if (window.clipboardData && window.clipboardData.setData) {
		window.clipboardData.setData("Text", content);
		return true;
	}
	else {
		try { 
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
		} 
		catch (e) { 
			return false;
		}
		
		var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"].getService(); 
		if (clipboard) { 
			clipboard = clipboard.QueryInterface(Components.interfaces.nsIClipboard); 
		} 
		
		var transferable = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(); 
		if (transferable) { 
			transferable = transferable.QueryInterface(Components.interfaces.nsITransferable); 
		}
		
		if (clipboard && transferable) {
			var textObj = new Object(); 
			var textObj = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); 
			if (textObj) { 
				textObj.data = content; 
				transferable.setTransferData("text/unicode", textObj, content.length*2); 
				var clipid=Components.interfaces.nsIClipboard; 
				clipboard.setData(transferable,null,clipid.kGlobalClipboard); 
				
				return true;
			} 
		}
		
		return false;
	}
}

Вам останется только повесить, либо через DOM, либо прямо в теге, выполнение этой функции с параметром соответствующего alt свойства. Например вот так:
<img src="..." alt="sometext" onClick="copyToClipboard(this.alt)" />
Ответить с цитированием
  #4 (permalink)  
Старый 16.09.2008, 04:21
Kiev1
 
Сообщений: n/a

в фоксе не работает
в фоксе не работает
Ответить с цитированием
  #5 (permalink)  
Старый 13.07.2009, 16:07
Интересующийся
Отправить личное сообщение для glutton Посмотреть профиль Найти все сообщения от glutton
 
Регистрация: 26.03.2009
Сообщений: 25

Здравствуйте!
Кто-нибудь может подсказать, почему не работает такой код:

<SCRIPT TYPE="text/javascript">
<!--
function ClipBoard(text)
{
	text.createTextRange().execCommand("Copy");
}
//-->
</script>

<a title="Скопировать текст в буфер обмена"
  href="javascript:ClipBoard('Этот текст надо скопировать')">Этот текст надо скопировать</a>

В IE при клике ничего не происходит, и в строке состояния броузера сообщение об ошибке.
Ответить с цитированием
  #6 (permalink)  
Старый 13.07.2009, 16:13
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

В ИЕ для копирования чего либо нужно использовать объект
событие.dataTransfer.setData(формат, данные)

Помещает в буфер сохранения строку данные в заданном формате, который может иметь значение "Text" или "URL". Возвращает true в случае успеха и false в противном случае.

Насколько мне извесно, другие браузеры не позволяют такое делать.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #7 (permalink)  
Старый 14.07.2009, 20:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

http://javascript.ru/unsorted/why_href_js_is_bad

Сообщение от glutton
и в строке состояния броузера сообщение об ошибке
а ошибка-то какая? про какую строчку?
Ответить с цитированием
  #8 (permalink)  
Старый 14.07.2013, 00:51
Новичок на форуме
Отправить личное сообщение для Corsair11 Посмотреть профиль Найти все сообщения от Corsair11
 
Регистрация: 14.07.2013
Сообщений: 2

Цитата:
В IE при клике ничего не происходит, и в строке состояния броузера сообщение об ошибке.

Брось ты это все, Glutton, Оптимизировать свой сайт под IE - Лишняя морока! Нормальные люди пользуются Оперой и лисичкой (файрбуг - тоже ничего )

Например, мой сайт (https://corsair.asmer.com.ua) В ИЕ Вообще не будет работать (Я не прикладивал никаких усилий для оптимизации своего сайта под ИЕ), и меня это не сильно волнует

Последний раз редактировалось Corsair11, 14.07.2013 в 01:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При первом клике список не раскрывается. lancer Элементы интерфейса 1 30.03.2008 17:24