最高のコメント間を移動します。

Habrahabrの読みを最適化するための小さなソリューションを紹介したいと思います。



誰もが(特に低消費電力のラップトップのユーザー)、ハブで人気のあるholivarの記事に関する問題に精通しています。 ブレーキに加えて、有用な情報を強調する問題も発生します。 私がすでに拒否した以前の決定は、特定の文字数より短い長さのコメントの自動折りたたみに基づいていました。



しかし、コメントには評価があります! コメントの「情報価値」の尺度としてそれらを使用してみませんか? hjklナビゲーションに関する記事を読んだ後、Habréでキーボードナビゲーションのアイデアを得ましたが、すべてのコメント間ではなく、特定のしきい値を超えたもののみです。 たとえば、jを押すと、10を超えるコメントを受信した次のコメントに移動します。

プログラミング中に、ここでよく言及される次の情報、つまりパレート原理を思い出しました。これによれば、コメントの20%が情報負荷の80%を伝達します。 そして、最も評価の高いコメントの20%の間で移動が発生した場合に、ナビゲーションを「スマート」にする機能を追加しました。



これをGreasemonkeyのUserScriptとして実装しました。 残念ながら、すべてが計画どおりに機能したわけではありませんが、問題はHabrahabrにキーボードナビゲーションが既にあるということです! ( あなたはこれについて知らなかった?そして、私はpostsHandler.jsを見るまで知りませんでした )。 つまり、j-前方、k-後方、h-ページの先頭へ。

したがって、自分のキーボードのキーストロークを追加できましたが、Habrovskyのデフォルトの操作を無効にすることはできませんでした。 すべてを正しく理解した場合、e.stopPropagation()は機能しません。これは、元のハンドラーがリスナー呼び出しチェーンの上位にあるためです。 そのため、 ナビゲーションをキーnとm (およびロシア語のレイアウトの場合はtとb) に掛けました 。 デフォルトのハンドラを無効にする方法を知っているなら、書いてください。



設定のために、スクリプトソースを少し編集する必要があります。 コメントの値のしきい値を変更し、手動ナビゲーションと最高のコメントの20%を切り替えることができます。 最後のオプションは、コメント間をジャンプする方法です。テキストに表示される順序で、またはスコアを減らすために。



ユーザースクリプトをダウンロード



UPD1: SowingSadnessにより、スクリプトはOperaとChromeで動作するようになりました。 私はすべてをクロージャーに包みました、今ではスクリプトはOperaのグローバルなスペースに散らばりません( ヒントbolkに感謝します)



All Articles