CNET JapanとOpenTechPressで早送りを有効にする方法

前に書いたように、Open Tech PressCNET JapanではFastForward(早送り)がきかず、まったく見当違いのところに飛んで行くので調べてみた。

まず、OpenTechPressでは、「前後の記事」の次のものにrel="next"がついていることが原因だった。fastforward.iniに「>」と書いても、普通は"next"属性より優先されることはないので、使えない。あまり知られていないが、FastForwardををするリンクには順番がある。

参照:Ashula.Info / FastForward.ini

;First some built in types and their scores
Link element=400
Wand login=300
Show image=50
Next image=200

このように、デフォルトではrel="next"のものは重みが400になっている。普通にfastforward.iniに書いてある語句は重みが100である。そこで、fastforward.iniに

>=500

と書いた。500が重み。とりあえず400より上ということで。これで早送りがきくようになった。ひとつ心配なのは、

;Then other words and their scores.
;If no score is given, it defaults to 100
;If score is 100 or more, Opera will allow
;the word or words to also only be the start or end
;word of the whole link text

と書いてあること。つまり、100より大きな数字の場合は、リンクテキストがその語句で始まっている場合と、その語句で終わっている場合もfastforward要素にしてしまうらしい。もしそれが問題になった場合はそのとき考える。

次に、CNET Japanなのだが、右上の「パスワードを忘れた方」というリンクに飛ぶ。rel="next"がついているわけでもないのだが、実はこれは、その横のログインボタンを押したことになっているみたいだ。つまり、

Wand login=300

が問題なのだが、ここでは

»=500

と書いても何も起こらなかったので(何故?)、色々なページで早送りできるようにするユーザーJavaScriptで対処した。


まあoAutoPagerizeを入れてる人はどうでもいいんですけどね。僕はFastForwardの方が好きなので。FastForwardするリンクをPrefetchして一瞬で飛べるようになれば最高なのだが。こういうスクリプトもあるが、これは、"next"と"prev(ious)"属性のリンクを見えないiframe上に開いておいて、リンクをクリックしたときに現在のページ要素をすべて消去して裏のリンクと書き換えるみたいだ。これだとGoogle Web Historyに追加されなさそう。

余談だが、safariはrel="next"に対応しているのかな?MacBook Airのサイトにあるビデオで、3本指でブラウザを「進む」「戻る」のような動作をしている(と思われる)シーンがあるが、これでrel="next"が使えたら喜ぶ人が多い気がする。