如何在网页中禁用Safari Reader

时间:2010-06-08 17:12:24

标签: html safari

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

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

  • 您至少需要一个 H 标记
  • 不仅仅是字符数,而是P标签的数量和长度
  • 可能会寻找句子'。'和其他标准

如果使用 H 标记,Safari将提供“阅读器”以及以下内容:

  • 1 P 标签,2417个字符
  • 4 P 标签,1527个字符
  • 5 P 标签,1150个字符
  • 6 P 标签,862个字符

如果从上述任何一个字词中减去1个字符,则“阅读器”选项不可用。

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

其他一些有趣的事情:

  • P 标记设置<p style="display:none;">会将其从计数中删除
  • display设置为none,然后使用Javascript在230ms后显示它们也避免使用Reader选项

如果有人能够全面确定,我会感兴趣。

9 个答案:

答案 0 :(得分:10)

将标记添加到可能“可读”的标记(例如pdiv)会导致可读性算法忽略标记,从而降低分数,希望达到不触发的程度要显示的Reader图标。

查看可读性源,执行此操作的一个区域是idclass属性,因为它对来自这两个属性的组合数据进行模式匹配。例如,添加“注释”类,如此

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

将导致该元素被忽略。与“不太可能”的候选人匹配的模式是:

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

在可能添加到可读性分数的元素上放置标记可以允许您禁用“阅读器”图标。

答案 1 :(得分:7)

“您至少需要一个<h*>元素” - 这是完全错误的。这是一个例子:http://mathiasbynens.be/demo/safari-reader-test-3

My answer on the other Safari Reader question提供了更多信息。

您还可以阅读 my blog post on enabling Safari Reader ,了解有关该主题的所有调查结果。

答案 2 :(得分:2)

答案 3 :(得分:2)

这对我有用:

我将所有内容都放在了ol标签内。

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

从我在别处阅读的内容来看,读者部分是由页面上的单词数量引发的,但它并不计算ol内的单词。

答案 4 :(得分:1)

根据The Register,Safari Reader基于开源项目Readability。您可以查看the code的线索。

答案 5 :(得分:1)

答案 6 :(得分:0)

它看起来像一个非常复杂的算法,是Safari阅读器采用的算法。我想这背后有更简单的事情。 很可能是一个很好的W3C文档,其中有一些SEO最佳实践,就像你提到的那样。

我相信这样的事情:

  1. 至少H1
  2. <p>标记打开和关闭,并正确跟随每个标题标记
  3. 包含图层的一般内容
  4. 最有可能的是,读者正在寻找接近新HTML 5特定内容的内容,因此是一个类调用者文章或类似内容。

    理解为什么Apple没有透露任何相关信息,这很有意思。

答案 7 :(得分:0)

我的内部有一个div,它包含了我的所有内容。将此div更改为元素,并添加一个类以删除由其创建的所有填充,删除了移动网站上的阅读器按钮。

答案 8 :(得分:0)

我通过摆脱<p>标签并将其更改为<div>标签来使其工作。

我认为<p>标签告诉浏览器其中有些文本需要阅读。

我离开了<h>标签,它们本身并没有引起读者的注意。