Копирование текста в буфер обмена в браузере через JavaScript

xintrea

Новичок
Запугали меня тут аналитикой сайта, на котором крутится MyTetra Share, что он может попасть в бан яндекса и гугля. А все потому, что в этом проекте собирается информация обо всем, что встречается в жизни, и я не задумываясь выкладываю прямые ссылки туда, где лежит то, о чем идет речь. Бывает, что в статье очень много ссылок, и я не предавал раньше этому большого значения. Пока не увидел вот это:

Заспамленность ссылками: 3 из 5 (9.1)

Вероятность фильтра на исх. ссылки (beta): 60%
Никогда не думал, что мне придется скрывать ссылки, но, видимо, надо.

Есть несколько механизмов сокрытия ссылок. Но все они обладают одной и той же проблемой: после сокрытия, правый клик по преобразованной ссылке не позволит скопировать URL ссылки в буфер обмена.


Вариант 1

Вначале я сделал финт ушами: в тексте страницы ссылки представляю как

<span class=«hyperurl» url="...«>Текст</span>


а после загрузки преобразую эти теги в <a href> через JavaScript. То есть, ссылки для браузера остаются обычными. Однако меня предупредили, что поисковики уже научились „выполнять“ страницу в песочнице, и индексируют и HTML страницы, и обработанный HTML-код. То есть, напрямую сделать так чтоб и поисковик не посчитал URL, и пользователю было удобно - нельзя.


Вариант 2

Тогда я решил воспользоваться небезызвестным ZeroClipboard (http://zeroclipboard.org).

Решил сделать так: рядом с обработанной ссылкой ставить значек копирования (примерно как в википедии у внешней ссылки). При клике по ссылке - переходим по ссылке через механизм скрытия ссылок. При клике по значку копирования - копировать ссылку в буфер обмена. Немного непривычно, но хоть какая-то забота о пользователе.

Но у ZeroClipboard есть одна трабла: так как он реализуется через Flash, то в Firefox при наведении на иконку копирования появляется надпись „Блокировать...“. Она настолько ужасна, что оставлять в таком виде нельзя. (Сейчас сделано именно так (значек есть, кликать по нему, ссылки пока обычные). Пример http://webhamster.ru/mytetrashare/index/mtb0/1412253267sw0y5sfn2e)

Теперь вопрос. Как же по-православному, кроссбраузерно, скопировать текст в буфер обмена через JavaScript?
 

С.

Продвинутый новичок
Теперь вопрос. Как же по-православному, кроссбраузерно, скопировать текст в буфер обмена через JavaScript?
Вот ведь прямо как по писанию. Вместо того, чтобы спросить, как по-православному деактивировать ссылку, человек упрямо про херню спрашивает.
 

xintrea

Новичок
> деактивировать ссылку

Имеете в виду nofollow/noindex? И где гарантия, что поисковики не учитывают в своих алгоритмах такие ссылки?

 
  • Like
Реакции: WMix

С.

Продвинутый новичок
А я еще никаких рецептов не давал и не имел в виду. Просто удивляюсь, как вместо решения оригинальной проблемы можно придумать совершенно другую и думать над ней.
 

xintrea

Новичок
> А я еще никаких рецептов не давал

Ну так давай, у нас тут технический форум.
 

AnrDaemon

Продвинутый новичок
Вот и посмотри внимательно на форум. Номера постов в топике видишь? Ткни в один мышкой.
 

С.

Продвинутый новичок
Ну так давай, у нас тут технический форум.
Да нет, тут форум профессионалов, которые сначала разбираются перед тем, как выписывать рецепт. А то ведь приходит клиент, просит кастрацию, а потом выяснается, что ему нужна циркумцизия.

У меня сложилось впечатление, что стороннее мнение о твоем проекте тебя меньше всего интересует, А технический рецепт даже и не понятно на что давать.
 

fixxxer

К.О.
Партнер клуба
Еще один.

@xintrea, все, что говорят сеошники, дели на 10. Не слушай сказки венского леса, а думай своим мозгом, как работает поисковая машина технически.

TL;DR: поставь noindex/nofollow и не парься. Не факт, что поисковик проигнорирует ссылки, но что не учтет их как ссылочную массу страницы - факт.
 

fixxxer

К.О.
Партнер клуба
В таких случаях достаточно здравого смысла и логики.
 
Сверху