我很想知道更多关于什么触发了Safari中的Reader选项以及什么没有。我不打算实施任何可以禁用它的东西,但作为一项技术练习很好奇。
以下是我到目前为止所学到的一些基本知识:
如果使用 H 标记,Safari将提供“阅读器”以及以下内容:
如果从上述任何一个字词中减去1个字符,则“阅读器”选项不可用。
我应该注意 H 标签的字符数是一个部分,但遗憾的是当我确定上面的结果时没有意识到这一点。假设 H 标签有20多个字符,并在上面的结果中修复。
其他一些有趣的事情:
<p style="display:none;">
会将其从计数中删除display
设置为none
,然后使用Javascript在230ms后显示它们也避免使用Reader选项如果有人能够全面确定,我会感兴趣。
答案 0 :(得分:10)
将标记添加到可能“可读”的标记(例如p
和div
)会导致可读性算法忽略标记,从而降低分数,希望达到不触发的程度要显示的Reader图标。
查看可读性源,执行此操作的一个区域是id
和class
属性,因为它对来自这两个属性的组合数据进行模式匹配。例如,添加“注释”类,如此
<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)
有关“可读性”的详细信息,请参阅http://code.google.com/p/arc90labs-readability/source/browse/trunk/js/readability.js。
答案 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最佳实践,就像你提到的那样。
我相信这样的事情:
<p>
标记打开和关闭,并正确跟随每个标题标记最有可能的是,读者正在寻找接近新HTML 5特定内容的内容,因此是一个类调用者文章或类似内容。
理解为什么Apple没有透露任何相关信息,这很有意思。
答案 7 :(得分:0)
我的内部有一个div,它包含了我的所有内容。将此div更改为元素,并添加一个类以删除由其创建的所有填充,删除了移动网站上的阅读器按钮。
答案 8 :(得分:0)
我通过摆脱<p>
标签并将其更改为<div>
标签来使其工作。
我认为<p>
标签告诉浏览器其中有些文本需要阅读。
我离开了<h>
标签,它们本身并没有引起读者的注意。