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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在我的网站上启用iOS 5 Safari Reader?相关的知识,希望对你有一定的参考价值。

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

答案

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

  1. <article>元素作为包装工作正常; Safari Reader识别它。 My site is an example。你选择哪个包装元素并不重要,只要有一个,除了<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

另一答案

Article Publishing Guidelines

以下是有关如何阅读和解析的API:Readability Developer APIs。已经有一个你可以参考的项目:ruby-readability

简要历史:Safari阅读器功能,因为Apple的Safari 5浏览器嵌入了一个名为Readability的代码库,而Readability最初是一个基于javascript的简单阅读工具,可以将任何网页转换为可自定义的阅读视图。它于2009年初由位于纽约市的设计和技术商店Arc90(作为Arc90实验室实验)发布。它还嵌入了亚马逊Kindle和流行的iPad应用程序,如Flipboard和Reeder。

另一答案

我正在研究从类似于Safari阅读器功能的信息“浪费”清理网站的算法。它不如可读性好,但有一些很酷的东西。

您可以在smartbrowser.codeplex.com项目页面了解更多信息。

另一答案

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

以下是我发现的影响:

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

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

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

看起来它所基于的算法正在寻找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版获得许可。

另一答案

这个问题(How to disable Safari Reader in a web page)有更多细节。复制到这里:


我很想知道更多关于什么触发了Safari中的Reader选项以及什么没有。我不打算实施任何会阻止它的东西,但作为一项技术练习很好奇。

以下是我到目前为止所学到的一些基本知识:

你需要至少一个H标签它不是单独使用字符计数而是通过P标签和长度的数量来查找句子中断'。'和其他标准如果使用H标签,Safari将提供“读者”,以及以下内容:

1个P标签,2417个字符4个P标签,1527个字符5个P标签,1150个字符6个P标签,862个字符如果从上述任何一个字符中减去1个字符,则“阅读器”选项不可用。

我应该注意到H标签的字符数是一个部分,但遗憾的是当我确定上面的结果时没有意识到这一点。假设H标签有20多个字符,并在上面的结果中修复。

其他一些有趣的事情:

P标签的设置将它们从计数设置显示中删除为无,然后在230ms后显示它们,Javascript也避免使用Reader选项

如果有人能够完全确定这一点,我会感兴趣。

另一答案

我正在努力解决这个问题。我终于在我的故事和中提琴中取出了<ul>标记!它开始工作了。

我没有把任何包装物放在身体周围,但可能是偶然做到的。

另一答案

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

似乎触发它的是一个div块,其中包含大量带有大量文本的p。

另一答案

p标签理论听起来不错。我认为它也会检测其他元素。我们的一个页面有6个段落没有触发Reader,但有一个有4个段落和一个img标签。

它也足够智能,可以检测多页文章。在nytimes.com或nymag.com上的多页文章中试一试。有兴趣知道它是如何检测到的。

另一答案

虽然它可能令人惊讶,但它确实没有关注HTML5文章标签,特别令人失望的是Safari 5完全支持CSS中的文章,部分,导航等 - 它们的风格可以像div一样,并且行为与任何块级元素相同。

我专门设置了一个带有文章标签和几个内部标签的网站,为语义HTML5标签做准备就是为了这个目的,所以我真的希望Safari 5能够将它用于Reader。没有这样的运气 - 可能应该提出一个错误,因为它会有很大的意义。它实际上完全忽略了页面上的大多数h2级子标题,每个标题都标记为一个部分,只显示符合前面提到的标准的单个div。

具有讽刺意味的是,同一网站的旧版本既没有文章,也没有文章,也没有分隔div标签,它可以识别整个机身以便在Reader中显示。

另一答案

Firefox和Chrome都有类似的名为iReader的插件。这是带有源代码的项目。

http://code.google.com/p/ireader-extension/

阅读代码以获得更多信息。

以上是关于如何在我的网站上启用iOS 5 Safari Reader?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iOS 应用程序启动 Safari 并打开 URL

如何在我的 html5 日期输入上设置最大值,以便 Safari for iOS 可以识别它?

如何在私有模式下在 iOS Safari 浏览器上启用 LocalStorage?

Appium和iOS Mobile Safari自动化,能做到吗?

如果启用SSL代理,为什么https请求在Charles Proxy上失败

如何在网络上和通过 localhost 在本地启用 wordpress 网站