Safari でリーダー オプションがトリガーされるものとトリガーされないものについて詳しく知りたいと思っています。リーダー オプションを無効にするものを実装する予定はありませんが、技術的な演習として興味があります。
これまでに基本的な操作を試して学んだことは次のとおりです。
- 少なくとも1つは必要H鬼ごっこ
- 文字数だけではなく、Pタグの数と長さによって決まります
- おそらく文の区切り「.」やその他の条件を探すでしょう
Safariは、Hタグ、および次のもの:
- 1ポタグ、2417 文字
- 4ポタグ、1527 文字
- 5ポタグ、1150文字
- 6ポタグ、862文字
上記のいずれかから 1 文字減らすと、「リーダー」オプションは利用できなくなります。
文字数については、Hタグが役割を果たしているが、残念ながら上記の結果を判断したときにはこれに気付いていなかった。H上記の結果全体でタグが付けられ、修正されました。
その他の興味深い点:
- 設定
<p style="display:none;">
ポタグはカウントから削除します display
に設定しnone
、Javascriptで230ms後に表示すると、リーダーオプションも回避されます。
誰かがこれを完全に判断できるなら興味があります。
ベストアンサー1
p
やなどの潜在的に「読み取り可能」なタグにマークアップを追加すると、div
読みやすさアルゴリズムによってタグが無視され、スコアが下がり、リーダー アイコンが表示されなくなることが期待されます。
Readability のソースを見ると、これを行う 1 つの領域はid
とclass
属性です。これは、これら 2 つの属性の組み合わせデータに対してパターン マッチングを行うためです。たとえば、次のように「コメント」クラスを追加します。
<p class="myClass comment">...</p>
その要素は無視されます。「ありそうもない」候補に一致するパターンは次のとおりです。
/combx|comment|disqus|foot|header|menu|rss|shoutbox|sidebar|sponsor/i
読みやすさスコアを高める可能性のある要素にフラグを設定すると、リーダー アイコンを無効にすることができます。