如何在我的网站上启用iOS 5 Safari Reader?

bsh*_*ack 75 safari mobile-safari ios5

iOS 5中Mobile Safari的Reader功能如何工作?如何在我的网站上启用它.如何告诉我页面上的哪些内容是触发此功能的文章?

Mat*_*ens 67

这里发布的很多答案都包含虚假信息.以下是一些更正/澄清:

  1. <article>元素作为包装工作正常; Safari Reader识别它.我的网站就是一个例子.你选择哪个包装元素并不重要,只要有一个,除了<body><p>.您可以使用<article>,<div>,<section>,或元件是用于此目的的语义上不正确,如<nav>,<aside>,<footer>,<header>; 甚至内联元素如<span>(!).

  2. 读者工作不需要标题.这是一个没有任何<h*>元素的文档示例,Reader可以正常工作:http://mathiasbynens.be/demo/safari-reader-test-3

我在这里发布了一些关于我的发现的更多细节:http://mathiasbynens.be/notes/safari-reader


小智 7

看起来它所基于的算法正在寻找p-Tags,并且它将分隔符视为".".在innerText中.得分最多的部分(div)成为焦点.

请参阅:http: //lab.arc90.com/experiments/readability/

似乎是Reader-mode的基础,至少Safari在致谢中对其进行了定义,请参阅:

文件:/// C:/Program%20Files/Safari/Safari.resources/Help/Acknowledgments.html

Arc90(可读性)版权所有©Arc90 Inc.
可读性根据Apache许可2.0版获得许可.


小智 7

我已经在我的iPhone上测试了大约100个这样的变体,以便找出触发这个难以捉摸的Reader状态的原因.我的结论如下:

以下是我发现的影响:

  • 在文章中有大约200个或更多单词(或1000个字符,包括空格),你想要触发"阅读器"似乎是必要的
  • 当我不到170个单词时,读者从未被触发过; 虽然我有180或190个单词时有时会触发它.
  • 某些元素(如<ol><ul>通常不用于包含故事)内的文本不会计入200个单词(如果读者因其他原因被触发,它们将显示在阅读器中)
  • 将200个单词包含在一个块元素中,例如a <div><article>似乎是必要的(也就是说,如果有任何网站不是这样的话,我会感到惊讶)

对于完整的披露,这里是我发现没有影响:

  • 是否使用标题
  • 是将文本包装在一个文件中<p>还是让它自由流动
  • 标点符号(即删除所有句点,逗号等,没有影响)


yrn*_*rn1 1

在我的测试中,HTML5 文章标签不会触发它。它似乎也不适用于离线内容(即保存在本地计算机上的页面)。

似乎触发它的是一个带有大量 p 和大量文本的 div 块。