Запугали меня тут аналитикой сайта, на котором крутится 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/in...3267sw0y5sfn2e)
Теперь вопрос. Как же по-православному, кроссбраузерно, скопировать текст в буфер обмена через JavaScript?