Подтвердить что ты не робот

Как отключить Safari Reader на веб-странице

Мне любопытно узнать больше о том, что вызывает параметр Reader в Safari, а что нет. Я бы не планировал реализовать ничего, что могло бы его отключить, но было бы любопытно, как техническое упражнение.

Вот что я узнал до сих пор с некоторыми основными играми вокруг:

  • Вам нужен хотя бы один тег H
  • Это не число символов, а количество P-тегов и длина
  • Наверное, ищет разрывы предложений. и другие критерии

Safari предоставит "Reader", если с тегом H и следующим:

  • 1 тег P, 2417 символов
  • 4 P-метки, 1527 символов
  • 5 тегов P, 1150 символов
  • 6 тегов, 862 символов

Если вы вычитаете 1 символ из любого из вышеперечисленных, опция "Reader" недоступна.

Я должен отметить, что количество символов тега H играет роль, но, к сожалению, этого не осознавало, когда я определил результаты выше. Предположим, что более 20 символов для тега H и зафиксированы в результатах выше.

Некоторые другие интересные вещи:

  • Настройка <p style="display:none;"> для тегов P удаляет их из count
  • Настройка display на none, а затем показ их через 230 мс с помощью Javascript также избегал опции Reader

Мне было бы интересно, если кто-нибудь сможет это полностью определить.

4b9b3361

Ответ 1

"Вам нужен хотя бы один элемент <h*>" - это просто неверно. Вот пример: http://mathiasbynens.be/demo/safari-reader-test-3

Мой ответ на другой вопрос Safari Reader содержит дополнительную информацию.

Вы также можете прочитать мое сообщение в блоге о включении Safari Reader для всех моих выводов по этому вопросу.

Ответ 2

Добавление разметки к потенциально "читаемым" тегам, например p и div, может привести к тому, что алгоритм Readability будет игнорировать тег, тем самым снизив оценку, надеюсь, до такой степени, что он не вызывает значок Reader дисплей.

Глядя на источник Readability, одна из областей для этого - это атрибуты id и class, так как это сопоставление образцов по комбинированным данным из этих двух атрибутов. Например, добавив класс "comment", например

<p class="myClass comment">...</p>

приведет к игнорированию этого элемента. Шаблон, который сопоставляется для "маловероятных" кандидатов:

/combx|comment|disqus|foot|header|menu|rss|shoutbox|sidebar|sponsor/i

Размещение флагов элементов, которые могут быть добавлены в показатель Readability, может позволить вам отключить значок Reader.

Ответ 4

Вот что сработало для меня:

Я разместил все содержимое внутри тега ol.

<ol style = "padding:0;margin:0"> 
   my content
</ol>

Из того, что я читал в другом месте, читатель частично вызван количеством слов на странице, но он не учитывает слова внутри ol.

Ответ 5

Согласно "Регистр" , Safari Reader основан на проекте с открытым исходным кодом Readability. Возможно, вы сможете просмотреть код для подсказок.

Ответ 7

Это похоже на довольно сложный алгоритм, который был принят читателем Safari. Я думаю, что за этим стоит нечто большее. Скорее всего, хороший документ W3C с лучшей практикой SEO, подобной той, которую вы упомянули.

Я верю что-то вроде этого:

  • По крайней мере, H1
  • <p> открывать и закрывать теги и правильно следовать за каждым тегом заголовка
  • общий содержащий слой

Скорее всего, читатель ищет что-то близкое к новому HTML 5, поэтому статья вызывающего абонента класса или что-то в этом роде.

Интересно понять, почему Apple ничего не рассказывала об этом.

Ответ 8

У меня был div внутри моего, который завернул весь мой контент. Меняя этот div как элемент и добавляя класс для удаления всего дополнения, созданного с помощью кнопки, удалил кнопку считывателя на моем мобильном сайте.