Кнопка "Скопировать в буфер" в html письме

S
На сайте с 09.03.2013
Offline
0
6840

Доброго времени суток!

Задача: Есть html шаблон письма. Требуется сделать ссылку "Копировать в буфер", при нажатии на которую будет копироваться ссылка, находящаяся в теле письма, в буфер обмена. Почтовая программа Outlook 2010.

Возможно ли такое в html-письмах?

Tenarius
На сайте с 09.02.2012
Offline
14
#1

На чистом хтмл такого не сделать. Нужно использовать php.

Мне нужны деньги...
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#2
Tenarius:
На чистом хтмл такого не сделать. Нужно использовать php.

Какая связь между Оутлуком и ПХП?

Подпись))
Tenarius
На сайте с 09.02.2012
Offline
14
#3
Милованов Ю.С:
Какая связь между Оутлуком и ПХП?

А какая вообще разница, что за почтовый клиент, если суть в том, чтобы нажать на ссылку? Пользователь кликает на ссылку и попадает на генереную страницу, где ему определенным образом осуществляется выборка по контенту (если она вообще нужна) и потом выбраный контент копируется в буфер. Можно js например использовать для этого также.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#4
Возможно ли такое в html-письмах?

Нет. Такого нельзя сделать.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
S
На сайте с 09.03.2013
Offline
0
#5

Пробовал вставлять js-код прямо в html шаблон письма. Работает (шаблон) только в IE. А вот если открыть такое входящее письмо в Outlook, то при клике на ссылку "Скопировать в буфер" открывается окно IE и вылезает ошибка: "Не удалось загрузить . Неопознанная ошибка".

пример js:


function ClipBoard(meintext)
{
result = copyToClipboard(meintext);
if (result) {
alert('Ссылка скопирована в буфер обмена');
}
else {
alert('К сожалению, Ваш браузер не позволяет работать с буфером обмена');
}
}
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) {
// тип передаваемых данных transferable.addDataFlavor("text/unicode");
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;
}
}


---------- Добавлено 10.03.2013 в 15:45 ----------

LEOnidUKG:
Нет. Такого нельзя сделать.

Поэкспериментировав, перепробовав разные варианты, тоже прихожу к такому же выводу ((

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий