LINUX.ORG.RU

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

 ,


0

1

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

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

Вероятность фильтра на исх. ссылки (beta):	60%

Никогда не думал, что мне придется скрывать ссылки, но, видимо, надо.

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

Вариант 1

Зная это, я вначале сделал финт ушами: в тексте страницы ссылки представляю как <span class=«hyperurl» url="...«>Текст</span>, а после загрузки преобразую эти теги в <a href>. Однако меня предупредили, что поисковики уже научились „выполнять“ страницу в песочнице, и индексируют как HTML код, так и обработанный. То есть, напрямую сделать так чтоб и поисковик не посчитал URL, и пользователю было удобно - нельзя.

Вариант 2

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

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

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

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)

Заспамленность ссылками: 3 из 5 (9.1) Вероятность фильтра на исх. ссылки (beta): 60%

а это откуда строчка?

umren ★★★★★
()
Ответ на: комментарий от risenshnobel

Это очень странное решение. Где гарантия, что поисковики не будут считать такие ссылки в своих алгоритмах?

Xintrea ★★★★★
() автор топика

Ну попадет и попадет - есть какая то в этом проблема? За сокрытие контента от поисковиков еще быстрее попадет.

zz ★★★★
()
Ответ на: комментарий от Xintrea

Xtool.ru

А для ЛОРа показывает 8.8. Почему до сих пор не банят?

SEO — это культ карго.

static_lab ★★★★★
()
Ответ на: комментарий от Xintrea

Зачем им считать ссылки по которым им сказано не переходить вообще?

Deleted
()
Ответ на: комментарий от Xintrea

Где гарантия, что поисковики не будут считать такие ссылки в своих алгоритмах?

Специально для поисковиков и добавили.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Специально для поисковиков и добавили.

Вот в этой статье от гоголя:

https://support.google.com/webmasters/answer/96569?hl=ru

говорится, что ставить nofollow надо только для рекламных ссылок или потенциально спамерских.

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

Xintrea ★★★★★
() автор топика

Отвечая на собственно вопрос: никак. Работа с буфером считается разрабами браузеров небезопасной, потому апи нет.

iSage ★★★★
()
Ответ на: комментарий от iSage

Тогда подойдем к проблеме с другой стороны. Есть ли какой-нибудь способ определить, запускается ли страница в браузере или на сервере в «песочнице»?

Например, если делать песочницу на сервере, то делать будут на базе готовых технологий, возможно, через node.js. Вот как бы в JavaScript определить среду выполнения (помимо User Agent), чтобы для песочницы не выполнять преобразование <span> в <a>?

Понятно, что это все вилами по воде писано, но интересно, может быть есть надежный способ.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Понятия не имею.
Чем тебе таки не нравится noindex/nofollow для ссылок? Это нормальная практика для ссылок на любые внешние ресурсы

iSage ★★★★
()
Ответ на: комментарий от iSage

Тем, что сам гоголь рассказывает как применять nofollow:

Правила Google и примеры использования nofollow

Распространенные случаи применения nofollow:

Ненадежный контент. Если вы не можете или не хотите поручиться за содержание страниц, на которые ведут ссылки с вашего сайта (например, из комментариев пользователей), следует вставлять в теги таких ссылок rel=«nofollow». Это сократит количество спама и поможет исключить непреднамеренную передачу значения PageRank с сайта недобросовестным пользователям. В частности, спамеры могут оставить ваш сайт в покое, если увидят, что к непроверенным ссылкам добавляется rel=«nofollow». Если требуется распознавать и поощрять авторов, достойных доверия, то можно автоматически или вручную удалять nofollow из ссылок высокого качества.

Платные ссылки. Позиция сайта в результатах поиска Google отчасти зависит от результатов анализа других сайтов, ссылающихся на него. Чтобы платные ссылки не влияли на результаты поиска, советуем использовать для таких ссылок nofollow . Правила поисковых систем требуют предоставлять автоматически считываемую информацию о платных ссылках, так как потребителям важно отличать коммерческие материалы от обычных (например, объявление на всю страницу в газете может иметь пометку «На правах рекламы»). Подробнее о принципах Google в отношении платных ссылок...

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

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

А у меня ссылки на надежные сайты.

Тогда ставь как есть и не жужжи. Ты либо прогибаешься, либо нет.

Deleted
()
Ответ на: комментарий от Xintrea

Есть ли какой-нибудь способ определить, запускается ли страница в браузере или на сервере в «песочнице»?

Да всё равно на сайт может зайти пользователь какого-нибудь Яндекс.Браузера, который вполне может настучать куда следует.

static_lab ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.