Автоматическое выделение текста в браузере

Обновлено: 04.07.2024

Если Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов. Что же мы можем сделать? До сих пор думал немногое. Но прежде чем перейти к рассмотрению нового (лично для меня) методу, рассмотрим какие возможности борьбы с выделением текста предлагают нам браузеры.

Internet Explorer

Данный браузер дает нам две возможности:

1. Для элементов устанавливаем атрибут unselectable со значением on. Но тут есть один нюанс: текст блока с таким атрибутом нельзя выделить (то есть нельзя начать выделение с данного элемента, и клик по такому элементу не будет снимать выделение с текста, если такой выделен), но если он содержит другие элементы (к примеру "безобидные" SPAN, B и т.д.) то текст в них выделить можно. К тому же если выделение текста начато с блока без такого атрибута, то текст внутри блока с атрибутом unselectable так же будет выделен. В такой ситуации решение одно - ставить всем (!) элементам данный атрибут, что неудобно и не практично.

2. Перехват события selectstart. Другими словами добавив элементу onselectstart="return false" (к примеру к BODY) запрещает выделение текста внутри него. Опять же нюанс: если начать выделять текст за пределами такого блока, то текст внутри него выделяется без проблем.

FireFox (браузеры на движке gecko), Safari (браузеры на движке KHTML)

Данные браузеры имеют более совершенный механизм, запрещающий выделение текста в любом виде. Делается это через CSS свойство user-select со значение none, которое включили в CSS3. Но до того как это свойство утверждено, браузеры демократично сделали это собственной фишкой движка назвав свойство -moz-user-select и -khtml-user-select соответственно. Получается, чтобы запретить выделять текст внутри блока, достаточно написать: И дело в шляпе.

Другие браузеры

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

Изучая файл Оперы с хаками для сайтов, наткнулся на интересные строки: Вспомним про атрибут unselectable у Internet Explorer'а, и становится ясным что в даном случае мы боремся с выделением текста. Развив идею, получилось некоторое кроссбраузерное решение:

Вызвав данную функцию, например: вы запретите выделение во всем документе, кроме элементов INPUT и TEXTAREA.
  1. Opera не дает обрабатывать событие dblclick, так что в этом браузере все равно возможно выделить текст двойным кликом.
  2. Ctrl+A:
    1. В Opera длительное (2-3 секунды) удержание данной комбинации вызывает выделение текста до ее отпускания. Причем если первым отжать клавишу А а потом Ctrl, то выделение пропадает. Иначе остается.
    2. Safari не обрабатывает keydown для клавиш при зажатом Ctrl. Потому выделение текста пропадает только после отпускания клавиш. Причем для этого браузера характерно поведение Opera, в плане порядка отпускания клавиш (если первым отжать Ctrl, то выделение останется).
    1. Safari & FireFox выделяют слово, и сразу снимают выделение. То есть присутствует эффект кратковременного выделения текста.
    2. Opera не дает запретить поведение по умолчанию. Она выделяет слово и вызывает контекстное меню.

    Других особенностей не выявлено.

    Тестировалось на FireFox 2.0.11, IE 6.0, Opera 9.24, Safari 3.0.3 (Win).

    Конечно решение не идеальное, и требует JavaScript (с другой стороны это и нужно в веб-приложениях, которые и так используют JS). Но это лучше чем ничего, и довольно кроссбраузерно (конечно может потребоваться дополнительный код для некоторых браузеров и их версий).

    Привет всем, я недавно заметил, что количество моих расширений для GC превысило 50 штук, некоторые включены всегда, некоторые по нужде включаются и отключаются. Сегодня я хочу поделиться с вами любимой связкой для чтения англоязычных текстов (книги, фанфики и комиксы).

    Самое главное расширение, которое я использую для чтения текстов на иностранных языках - это google переводчик.

    Оно позволяет по выделению текста получить перевод слова или фразы.

    Вы выделяете текст, нажимаете на появившийся ярлык google translate и получаете перевод. Обычным нажатием в любом месте экрана, кроме окошка с переводом, приводит к закрытию окна перевода.

    Вторым моим любимым для чтения и рерайта текстов является приложение русского разработчика - Allow Copy. Как вы знаете, на многих сайтах в целях сохранения копирайта есть блокировка текста, это могут быть как сайты с рассказами, так и сайты с фильмами, на которых запрещено выделение и это не всегда удобно, если видишь красивую афишу, но выделить название для гугления не можешь.

    Все, что требуется - это нажать на ярлык расширения справа вверху и защита будет отключена. До того, как я нашел это расширение, приходилось вручную через "просмотреть код" искать блок с защитой текста. И отключать вручную.

    Кстати, текст для перевода гугл переводчика я разблокировал именно им :)

    Третьим расширением является расширение для выделения текста на картинках. Project Naptha позволяет по нажатию проанализировать картинку и сделать текст на ней выделяемым. Это нужно, чтобы не искать перевод сленговых слов из комиксов или статей.

    Надеюсь вам понравится такой формат длиннопостов и вы порекомендуете мне полезные расширения, которыми пользуетесь сами.


    Программы и Браузеры

    179 постов 3.6K подписчиков

    Правила сообщества

    -Ставьте наши теги, если Ваш пост о программе, приложении или браузере(в том числе о расширениях, дополнениях в нему), его недоработке, баге, обновлении. Это может быть пост - обзор или отзыв.

    -При возникновении споров относитесь с уважением друг к другу, а так же приводите аргументы.

    Разрешено всё, что не запрещено правилами Пикабу.

    @moderator, надеюсь ссылки на расширения в google store не являются нарушением?


    YouTube SubSound — автоматическая озвучка субтитров на YouTube

    Расширение для браузера, которое озвучивает субтитры на YouTube.

    Это бесплатное расширение озвучивает субтитры на YouTube параллельно видеоролику и поддерживает русский, английский, японский, китайский, корейский, французский, немецкий, испанский, итальянский и польский языки.

    Процесс разработки

    Немного предыстории. Всё началось с идеи переводить и озвучивать фильмы и сериалы. Интересно было пощупать механику субтитров, синтеза речи и синхронизации с видеорядом. После недолгой попытки реализации стало понятно, что полезного и удобного применения этому я не смогу найти и всё остановилось особо и не начавшись.

    Но через некоторое время, открыв какое-то видео на YouTube с субтитрами, я ощутил сложность одновременно следить за картинкой ролика и читать перевод. Сопоставив предыдущий неудачный опыт озвучки фильмов с новой проблемой, родилась идея оживить субтитры YouTube программно генерируемым голосом. Итак, я решил сделать расширение для Chrome, т.к. это самый удобный способ внедрить данную функцию.

    Накидав небольшую демку на

    80 строк кода, я понял, что получается довольно неплохо, хоть и результат сильно зависит от качества перевода. Само собой, лучше всего выходило с роликами, где автор позаботился о написании/переводе субтитров. Но доработав код, удалось добиться довольно приемлемой слушабельности. И в какой-то момент, во время теста я слушал фоном интервью-ролик с очень быстрой подачей и обнаружил, что не только уловил суть, но и не почувствовал сильного дискомфорта (тут дело вкуса) при прослушивании!

    Записал пару видео, нарисовал быстро логотип, сделал скриншоты и отправил расширение на модерацию в Chrome Web Store, где за 2 дня его проверили и опубликовали. Теперь любой желающий может его бесплатно установить.

    Как пользоваться?

    После чего открыть любой ролик с субтитрами, вывести их на предпочитаемом языке и активировать озвучку, нажатием НОВОЙ кнопки в плеере YouTube.

    YouTube SubSound — автоматическая озвучка субтитров на YouTube Субтитры, Озвучка, Русская озвучка, Дубляж, YouTube, Перевод, Расширение, Браузер, Google Chrome, Видео, Длиннопост

    Всё! Голос будет идти параллельно с видео!

    Дальнейшие планы

    Озвучку на текущем этапе сложно назвать профессиональной. Поэтому в планах добавить синтез речи от Yandex и Google, которые должны улучшить качество звучания и восприятия слушателем.

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

    Продукт призван помочь людям получить доступ к контенту, который в силу языкового барьера недосягаем или тяжело воспринимаем. YouTube SubSound даёт возможность смотреть обучающие, научно-популярные или развлекательные видео без привязки к конкретному языку!

    Я с нетерпением жду ваших отзывов о разработанном мной расширении. Не стесняйтесь оставлять комментарии! И если вам понравилось, проголосуйте за проект на ProductHunt.

    Встроенный переводчик показывает слова и фразы на том языке, который используется в интерфейсе браузера. Также он распознаёт надписи на картинках и даёт перевод поверх оригинального текста. Кроме того, в браузере доступен перевод видео с английского языка на русский. Смотрите обучающие лекции и любимые видеоролики сразу на русском языке с помощью функции закадровой озвучки.

    Перевод страниц, слов и фраз

    Яндекс.Браузер автоматически определяет язык загруженной страницы и, если он отличается от языка интерфейса, предлагает перевести ее. Окно перевода можно также вызвать, нажав значок  в Умной строке.

    Чтобы перевести текст страницы на язык интерфейса браузера, нажмите в окне  Перевести . Чтобы вернуть страницу на языке оригинала, нажмите в окне  Показать оригинал .

    Если вам нужно перевести страницу на другой иностранный язык, укажите его вручную, нажав в окне   → Перевод на другой язык .

    Если вы перевели страницу на один язык, а затем изменили язык перевода, то картинки автоматически переведутся на новый язык.

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

    Если всплывающее окно с текстом не появилось:

    В блоке Переводчик включите опцию Отображать всплывающие окна с оригиналом текста .

    Яндекс.Браузер может переводить на русский язык отдельные слова или предложения на странице. Чтобы увидеть перевод слова или словосочетания, выделите их и нажмите значок в контекстном меню.

    Проверка правописания на иностранном языке

    Браузер проверяет правописание в формах ввода (например, при работе с почтой).

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

    Когда вы вводите текст, браузер подчеркивает незнакомые слова. Если вы уверены в написании подчеркнутого слова, нажмите на него правой кнопкой мыши и выберите Добавить в словарь .

    Вы можете редактировать пользовательский словарь:

    В блоке  Проверка правописания нажмите  Пользовательский словарь .

    Перевод картинок

    Нажмите на изображение правой кнопкой мыши и выберите в контекстном меню Перевести картинку .

    Чтобы перевести остальные картинки:

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

    Чтобы посмотреть оригинал картинки, используйте один из способов:

    Наведите указатель мыши на изображение, а затем на появившийся значок . Нажмите Переведено . Нажмите на изображение правой кнопкой мыши и выберите в контекстном меню Показать оригинал . Наведите указатель мыши на изображение и нажмите  → Вернуть оригинал картинки .

    Чтобы скрыть кнопку переводчика на всех картинках, наведите на любое изображение и нажмите  → Скрыть кнопку .

    Примечание. Окно не открывается, когда на сайте нет картинок с текстом.

    Чтобы посмотреть страницу и картинки на языке оригинала, нажмите в окне Показать оригинал .

    Перевод и озвучка видео

    Ограничение. Сейчас видео переводится только с английского языка на русский. Технология находится в разработке, поэтому перевод доступен не для всех видео.

    Чтобы посмотреть видео на русском языке, наведите указатель мыши на ролик, а затем нажмите появившийся значок . Видео продолжит озвучиваться на русском языке. Мужчин озвучивает мужской голос, а женщин — женский.

    Иногда перевод видео занимает некоторое время. Вам придет всплывающее уведомление, когда всё будет готово.

    Если вы хотите вернуться к оригиналу, ещё раз нажмите значок .

    Настройки перевода

    Чтобы браузер переводил страницы на конкретном языке, не запрашивая разрешения:

    Откройте любую страницу на языке, для которого вы хотите включить перевод по умолчанию. Включите опцию  Всегда переводить с <название языка> на <название языка> . Откройте любую страницу на языке, для которого вы хотите отключить перевод. Нажмите   →  → Не предлагать перевод с <название языка> . В блоке Язык отображения страниц удалите выбранный язык. Откройте любую страницу на языке, для которого вы хотите снова включить перевод. Нажмите   → и отключите опцию Не предлагать перевод с <название языка> . В блоке Язык отображения страниц нажмите Добавить язык . Выберите язык из полного списка языков, поддерживаемых браузером. Убедитесь, что в блоке Переводчик включена опция Отправлять в Яндекс фрагменты текста для улучшения качества перевода .

    Отключение переводчика

    Если вы не хотите, чтобы браузер предлагал перевод иноязычных страниц:

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

    Проблемы с переводом

    Переводчик в браузере включён по умолчанию. Убедитесь, что ранее вы не отключили переводчик вручную:

    Предлагать перевести страницы, язык которых отличается от языка интерфейса ;

    Также страница может не переводиться, если когда-то при ее просмотре вы отказались от перевода. В этом случае:

    В контекстном меню выберите пункт Перевести на русский .

    Если на картинке появляется значок , то перевести ее не удалось. Переводчик не распознаёт недостаточно четкое изображение, курсивный или рукописный текст.

    Если картинка маленькая (например, кнопка с текстом), перевод может быть скрыт. Наведите указатель мыши на картинку, чтобы его увидеть.

    Технология находится в разработке, поэтому перевод доступен не для всех видео.

    На вкладке В Яндекс.Браузере включите опцию Перевод видео . ">,"extra_meta":[>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>],"title":"Перевод страниц, картинок и видео. Справка","canonical":"https://browser.yandex.ru/help/search-and-browse/translators-settings.html","productName":"Яндекс.Браузер","extra_js":[[],[,"mods":<>,"__func134":true,"tag":"script","bem":false,"attrs":,"__func61":true>],[,"mods":<>,"__func134":true,"tag":"script","bem":false,"attrs":,"__func61":true>]],"extra_css":[[],[,"mods":<>,"__func63":true,"__func62":true,"bem":false,"tag":"link","attrs":>],[,"mods":<>,"__func63":true,"__func62":true,"bem":false,"tag":"link","attrs":>]],"csp":<"script-src":[]>,"documentPath":"/help/search-and-browse/translators-settings.html","isBreadcrumbsEnabled":true,"lang":"ru","params":<>>>>'>Встроенный переводчик показывает слова и фразы на том языке, который используется в интерфейсе браузера. Также он распознаёт надписи на картинках и даёт перевод поверх оригинального текста. Кроме того, в браузере доступен перевод видео с английского языка на русский. Смотрите обучающие лекции и любимые видеоролики сразу на русском языке с помощью функции закадровой озвучки.

    Перевод страниц, слов и фраз


    Яндекс.Браузер автоматически определяет язык загруженной страницы и, если он отличается от языка интерфейса, предлагает перевести ее. Окно перевода можно также вызвать, нажав значок в Умной строке.

    Чтобы перевести текст страницы на язык интерфейса браузера, нажмите в окне Перевести . Чтобы вернуть страницу на языке оригинала, нажмите в окне Показать оригинал .


    Если вам нужно перевести страницу на другой иностранный язык, укажите его вручную, нажав в окне → Перевод на другой язык .

    Если вы перевели страницу на один язык, а затем изменили язык перевода, то картинки автоматически переведутся на новый язык.

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

    Если всплывающее окно с текстом не появилось:


    Нажмите → Настройки → Инструменты . В блоке Переводчик включите опцию Отображать всплывающие окна с оригиналом текста .


    Яндекс.Браузер может переводить на русский язык отдельные слова или предложения на странице. Чтобы увидеть перевод слова или словосочетания, выделите их и нажмите значок в контекстном меню.


    Проверка правописания на иностранном языке

    Браузер проверяет правописание в формах ввода (например, при работе с почтой).

    Включить проверку правописания с использованием встроенного словаря


    Нажмите → Настройки → Системные . В блоке Проверка правописания нажмите Добавить язык . Примечание. Если в списке нет нужного вам языка, вернитесь на страницу Настройки языка и региона . В блоке Язык отображения страниц нажмите Добавить язык и выберите из полного списка языков, поддерживаемых браузером, нужный.

    Когда вы вводите текст, браузер подчеркивает незнакомые слова. Если вы уверены в написании подчеркнутого слова, нажмите на него правой кнопкой мыши и выберите Добавить в словарь .

    Вы можете редактировать пользовательский словарь:


    Нажмите → Настройки → Системные . В блоке Проверка правописания нажмите Пользовательский словарь .

    Перевод картинок

    Нажмите на изображение правой кнопкой мыши и выберите в контекстном меню Перевести картинку .

    Чтобы перевести остальные картинки:


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

    Чтобы посмотреть оригинал картинки, используйте один из способов:


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


    Наведите указатель мыши на изображение и нажмите → Вернуть оригинал картинки .


    Чтобы скрыть кнопку переводчика на всех картинках, наведите на любое изображение и нажмите → Скрыть кнопку .


    Примечание. Окно не открывается, когда на сайте нет картинок с текстом.

    Чтобы посмотреть страницу и картинки на языке оригинала, нажмите в окне Показать оригинал .


    Перевод и озвучка видео

    Ограничение. Сейчас видео переводится только с английского языка на русский. Технология находится в разработке, поэтому перевод доступен не для всех видео.


    Чтобы посмотреть видео на русском языке, наведите указатель мыши на ролик, а затем нажмите появившийся значок . Видео продолжит озвучиваться на русском языке. Мужчин озвучивает мужской голос, а женщин — женский.

    Иногда перевод видео занимает некоторое время. Вам придет всплывающее уведомление, когда всё будет готово.


    Если вы хотите вернуться к оригиналу, ещё раз нажмите значок .

    Настройки перевода

    Чтобы браузер переводил страницы на конкретном языке, не запрашивая разрешения:

    В сегодняшнем руководстве мы научим вас, как изменять стандартный цвет выделения текста в браузере при помощи CSS.

    Изменение цвета выделения текста в браузере

    Всем известно, что если на странице зажать левую кнопку мыши и начать перемещать мышь, будет создаваться выделение текста. Различные браузеры выделяют этот текст по-разному. Например, в моем браузере текст становится белым, а фон за ним становится серовато-синим.

    Используя селектор ::selection, можно изменить стиль выделения текста. Это можно применять в различных ситуациях. Например, таким образом можно в значительной степени приукрасить свой веб-сайт, либо защитить текст страниц от копирования (ведь можно сделать так, чтобы люди не могли видеть тот текст, который они выделяют).

    Воспользуйтесь следующим кодом:

    Не забудьте также посмотреть демо - выделите любой участок текста на странице .

    Постовой: Наш генератор позволит вам создать loading gif в качестве прелоудера для загрузки изображений и других элементов сайта. Обнаружили ошибку или мёртвую ссылку?
    Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
    В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса. Нужна органическая вечная ссылка из данной статьи? Постовой?
    Подробности здесь

    Вам понравился материал? Поблагодарить легко!
    Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

    Pin It

    Опубликовал Design FactoRy Прочитано (раз): 23532 | Оставлено комментариев: 5
    Источник материала / оригинал статьи Распечатать

    Как стилизовать слайдер диапазона на HTML5 для всех браузеров

    Добавляем контекстное меню на веб-сайт при помощи HTML5

    BackgroundCheck: автоматическое изменение цвета элементов в зависимости от .

    Стильные строки прогресса на CSS3

    Разноцветное меню на CSS3

    Полезные CSS-сниппеты для арсенала программистов

    Интересные «–webkit» параметры в CSS

    Кое-что о CSS3, что Вам следовало бы знать

    Создаем врезанный текст посредством CSS3

    Создаем кнопку на CSS3 с красивыми эффектами



    Копирование материалов сайта разрешено только с указанием активной индексируемой гиперссылки на наш сайт!

    Мы сами вдохновляемся материалами, которые предлагаем вам на обозрение, будь то интересные руководства или полезные и впечатляющие подборки (дизайнов, шаблонов, сниппетов и т.д.), и мы всегда сохраняем ссылки на источники, и сообщаем авторов изображений, использованных в подборках или руководствах. Зачастую, ссылка на источник не ведёт напрямую к автору шедевра, но мы ведь не волшебники, чтобы угадывать, кто является автором.

    Если кто-то захочет использовать какие-либо изображения, графические элементы, исходники, которые мы здесь предоставляем, то единственное требование, выставленное к перепосту, заключается в сохранении ссылки на источник, а также соблюдение условий лицензионного соглашения (если таковое имеется). Если кто-то желает модифицировать тот или иной продукт, изменить его, подкорректировать, то этому энтузиасту придется самостоятельно искать настоящего автора материала.

    Читайте также: