копирование в Буфер при клике на картинку
Доброго времени суток! только начал изучать JS, поэтому прошу не кидать камнями за ,возможно, простой вопрос:
Есть html страничка с множеством картинок. нужно при клике на одной из них записать выражение в буфер обмена, соответсвенно, разные выражения для разных картинок. Сразу скажу - нужно, что бы работало под мозиллой.... http://webchicanery.com/code/clipbjavascript.zip вот скрипт сценария, который возможно можно доработать. |
Немного не ясно выразился. По событию онклик на картинке должен срабатывать скрипт, который запишет в буфер обмена комментарий к картинке (alt.) такое вообще реально сделать?
|
Это реально сделать, но не так просто, как может показаться.
Вот статейка на эту тему. Можете попробовать использовать код из этой статьи: 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)" /> |
в фоксе не работает
в фоксе не работает
|
Здравствуйте!
Кто-нибудь может подсказать, почему не работает такой код: <SCRIPT TYPE="text/javascript"> <!-- function ClipBoard(text) { text.createTextRange().execCommand("Copy"); } //--> </script> <a title="Скопировать текст в буфер обмена" href="javascript:ClipBoard('Этот текст надо скопировать')">Этот текст надо скопировать</a> В IE при клике ничего не происходит, и в строке состояния броузера сообщение об ошибке. |
В ИЕ для копирования чего либо нужно использовать объект
событие.dataTransfer.setData(формат, данные) Помещает в буфер сохранения строку данные в заданном формате, который может иметь значение "Text" или "URL". Возвращает true в случае успеха и false в противном случае. Насколько мне извесно, другие браузеры не позволяют такое делать. |
http://javascript.ru/unsorted/why_href_js_is_bad
Цитата:
|
Цитата:
Брось ты это все, Glutton, Оптимизировать свой сайт под IE - Лишняя морока! Нормальные люди пользуются Оперой и лисичкой (файрбуг - тоже ничего :)) Например, мой сайт (https://corsair.asmer.com.ua) В ИЕ Вообще не будет работать (Я не прикладивал никаких усилий для оптимизации своего сайта под ИЕ), и меня это не сильно волнует |
Часовой пояс GMT +3, время: 10:17. |