« 『きまぐれびゅー』-商品毎個別のフィード配信他、機能追加 | トップページ | 大団円 »

2009/02/21

Tweak AP:AutoPagerize拡張スクリプト(SITEINFO毎の初期ON/OFF状態記憶、ほか)

Greasemonkey版のAutoPagerizeにいくつかの機能を追加するコバンザメスクリプトを試作してみました。

Tweakapsample1

具体的には以下のような機能があります。
  1. SITEINFO単位で、自動ページングの初期状態(ON/OFF)を変更&保存可能に。
    オリジナルでは自動ページングの初期状態は一律ON(AUTO_START=true)ですが、これをSITEINFO単位でON/OFF出来ます。
  2. アイコンクリックで閲覧中サイトのページングON/OFF切替が可能に。
    オリジナルではアイコンにマウスオーバ→表示されたHELP内の「on/off」リンクをクリックだったのを、アイコンクリックのみでトグル切替出来るように機能追加。
  3. アイコン内にページ合計を表示。
…ってこれだけか(苦笑)。しかも、例によって既にだれかやってそうだし…。
■Greasemonkeyスクリプト(Firefox専用)
Greasemonkeyについては、例えばこちらを参照。
■インストール時の注意
本スクリプト(TweakAP.user.js)は、AutoPagerizeより前に読込まれる必要があります。
従って、Greasemonkeyの「ユーザスクリプトの管理画面」画面にて、[TweakAP.user.js](上)→[AutoPagerize](下)の順になるように、並び替えてください。
■使い方
  1. SITEINFO単位の自動ページング初期状態(ON/OFF)変更&保存
    右上のアイコンをマウスオーバすると出てくるHELP画面に、
    default:on to off
    もしくは、
    default:off to on
    と表示されますが、左側のon/offが現在の閲覧ページ(に対応したSITEINFO)の自動ページングの初期状態になります。
    右側(リンクになっている方)のoff/onをクリックすると、初期状態が変更&保存され、次から同一のSITEINFOに対応したページを開くと、保存した状態(off/on)が反映されます。
    例えば、閲覧中のページのURLが^https?://(?:d2?|[^.]+\.g)\.hatena\.ne\.jp/という正規表現(url)を持つSITEINFOにマッチしている場合、この状態でoffをクリックしておくと、これ以降、当該正規表現にマッチするページは全て、初期状態が「自動ページング:OFF」の状態で開かれます。
    なお、クリックした際に、
    • いったん下方にスクロールしてからまた戻る。
    • on→off切り替え時に、アイコンが消えてしまう。
    といった現象が発生することがありますが、これは仕様です(苦笑)。
    閲覧中ページに適用されているSITEINFOを取得するための苦肉の策による副作用だったりします。
    また、Firefoxのメニューで、[ツール(T)]→[Greasemonkey(G)]→[ユーザスクリプトコマンド(C)]に、[Tweak AP - clear all]というコマンドが追加されていますが、これを実行すると、上記で保存した内容が全てクリアされてしまいますので、ご注意を。
  2. アイコンクリックによるページングON/OFF切替
    右上のアイコンをクリックすることにより、閲覧中ページのページングON/OFFを一時的に切替えることが可能です(設定は保存されません)。
  3. ページ合計表示
    右上のアイコン内に、現時点で読込まれている全ページ数が表示されます。
■覚書など
  • 適用されているSITEINFOの情報を取得するのに一苦労……かなり不細工な実装しか思いつかなかった…もっとうまい方法があれば、教えてください。
    GM_getValue()は、他のスクリプトが保存したものは参照できないんだよね……。
    現在適用されているSITEINFOだけでもいいので、簡単に取得できるAPIがAutoPagerize本体に追加されないかな…。
  • SITEINFO毎の初期on/off状態設定&保存機能については、 AutoPagerizeで一覧ページだけでなく個別ページでも過去の記事が継ぎ足されるのはかなり嫌い - つれずれなるままに…が元ネタ。
    個別ページでのページ継ぎ足しに関して、
    なぜ、そのような個別ページでも過去の記事を継ぎ足すようにする必要があるのだろうか?

    普通、ある記事の個別ページを表示するときは、その記事を読みたいのであって、他の記事まで読む気はないことが多い。それなのに勝手に過去の(たいてい今読んでいた記事と無関係の)記事を継ぎ足しされると、無駄な表示処理が見えたり、処理待ちでスクロールができずそこまでの読む勢いが止まってしまったりで、不快に感じてしまう。
    取りあえずのところ、自分は個別ページでも過去の記事を継ぎ足す動作は嫌いだ。AutoPagerizeのSITEINFOを全部編集したいほど嫌いだ。
    という意見を読んで、なるほどと思った。
    確かに、少なくとも使用者側にとってのメリットはあまり思いつかない。
    ただ、
    はてなブックマーク - AutoPagerizeで一覧ページだけでなく個別ページでも過去の記事が継ぎ足されるのはかなり嫌い - つれずれなるままに…
    を見るかぎり、個別ページ継ぎ足しを肯定する意見もあり、難しいところ。
    というわけで、SITEINFO単位でon/offが設定できるなら、どちらの人でも使えるかなぁと。
    もっとも、現状は、一覧用/個別用のSITEINFOにわかれていないサイトはあると思うので、ちょっと小細工してある。
    例えば、
    ^https?://(?:d2?|[^.]+\.g)\.hatena\.ne\.jp/
    という正規表現をurlにもつSITEINFOは、
    http://d.hatena.ne.jp/[id]/
    ※一覧ページ
    にも、
    http://d.hatena.ne.jp/[id]/[date]/[number]
    ※個別ページ
    にもマッチしてしまうので厳密にSITEINFO単位の設定だとかぶってしまうのだけれど、ディレクトリ階層の違いによって区別可能なようにしてみた。
    副作用ありそうだけどね……。

« 『きまぐれびゅー』-商品毎個別のフィード配信他、機能追加 | トップページ | 大団円 »

パソコン・インターネット」カテゴリの記事

おもいつき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« 『きまぐれびゅー』-商品毎個別のフィード配信他、機能追加 | トップページ | 大団円 »

戻るリンク追加

カレンダー

2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

ココログカレンダーPlus

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

最近のトラックバック

コメントリストツリー化

無料ブログはココログ