久々に作った拡張機能
今回はlocalStorage使ってみようという思いつきから作ったものです 

内容はすでに読んだことのある(開いたことのある)ページかを判断するものです
開いた時に見たことある気がするけど開いたことがあったかなと思うことがあるのでそういう時に使えます
ブラウザの履歴でもいいのですが、履歴では同じページは最新の1つしか記録していないので開いてしまうと前に開いた時の情報が消えてしまうのとリンク先が紫ということでしかわからないので今開いてるページが見たことあるのかがわかりません

単純にいうと
開いたページのURLとURLごとに最新の3回の開いた時間と最初の開いた時間を保存していて
現在のページの開いた回数と前に開いた時間を確認できるものです

こういうツールだとサーバと同期してどのPCで見ても大丈夫なものにしたほうがいいのでしょうけど、私がローカルだけでというのが良かったのでローカル専用です
どこかに送信する機能はないので安心してください
(ウィルスとか誰かにデータをコピーされたとかは知りません)

どうしても他のPCとデータを共有したい場合はオンラインストレージとの同期を利用してください
C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\Local Storage
win7だとここにChromeのローカルストレージデータが保存されています
この中からこの拡張機能のIDを探してそれだけを同期します
このフォルダごと同期させると他の拡張機能などのデータも同期できます
Chromeの同期ではローカルストレージのデータは同期してくれないのでちょっと不便です

Chromeではローカルストレージにsqlite3を使っているからか高速で、URLを全保存していても特に重くはないです


*使い方*

インストするとURL表示される部分の横のボタンが並んでるところにボタンが追加されます

readsample-icorec

こんなのです

数字が現在表示してるページのアクセス数です
初めてのアクセスだと数字が表示されずに赤い丸だけです
日本の国旗みたいに見えてきますが録画ボタンです

ボタン押すと↓な画面が出ます
readsample-min
見方はそのままです
undefinedとなってるのはまだデータがないところです

RESETボタンは押すとそのページのデータを削除します
RESET ALLボタンは全ページのデータを削除します
RECMODEのチェックは記録モードの切り替えです
 チェックが付いていると表示したページを自動で記録します
 チェックがはずれてると記録しません
 チェックが外れているとアイコンが一時停止マークicon-d-nocheckになります
rawと書かれているセレクトボックスは保存方法の切り替えです
 md5とsha1とrawから選択できます
 rawだとURLをそのまま保存するのでデータを見た時にどのページかがわかります
 md5とsha1だとハッシュ化されてるので見ただけではどのページなのかわかりません
 md5とsha1は固定長なので保存する文字の長さがURLを直接保存するより少なくなります
 データの保存方法を変更すると今までのデータは全削除になるので注意してください
EXPORTは保存しているデータをCSVファイルとしてダウンロードします
IMPORTはEXPORTしたCSVファイルを読み込みます
右下の▽はクリックすると画面が広がります

readsample-raw
↑みたいなのになってよく見るページと合計ページ表示数がわかります

pagesは開いたページの数です 同じページは1回です
viewsは全ページの開いた数の合計です 同じページでも複数回カウントします

その日の最初にネットにアクセスするときにリセットして、パソコンを閉じるときに確認すればその日にアクセスしたページ数がわかる という使い方もできます

Googleの翻訳・画像検索・マップはよくページが再読み込みされるのでちょっと使っただけでページの表示回数が一気に増えてよく見るページの上位に来ることが多いです

保存方法がsha1だと↓みたいなのです
readsample-sha1

*ダウンロード*

read.crx

crxファイルのインストはこちらを参考に

*謝辞?*

MD5とSHA1はJavaScriptの標準機能になく作るのもめんどうだったので、高速らしい
http://labs.cybozu.co.jp/blog/mitsunari/2007/07/24/js/sha1.js
http://labs.cybozu.co.jp/blog/mitsunari/2007/07/24/js/md5.js
これを利用させてもらってます
ありがとうございます。

そのまま読み込むと後から読み込んだほうで前に読み込んだほうを上書きしてしまう使用なので両方使えるように微妙に改造してます