hatena-highlight-fragment.user.js

ハッシュつきアクセスの場合該当セクションをハイライトさせる GreaseMonkey。日記モードでしか意味がないっぽい。フィードリーダーで読んでるからあんまり意味ないけど。#1149956303 とかついてる場合そのセクションをハイライトする。クリックで解除


もともとはどこでも使えるようなスクリプトの予定だったけど、ちゃんと構造化されて id をふっているサイトがあまりにもなかった (id をふってる要素以下だけハイライトさせると悲惨になることが多い) 。なんか意味がなかった (というか弊害のほうが大きかった) ので、割と解りにくいなぁと思うはてダに特化させた。

はてダの場合 id じゃなくて a @name だから、フラグメントとは言わないかな?

  1. トップ
  2. gm
  3. はてダ。フラグメントハイライト
  1. トップ
  2. js
  3. はてダ。フラグメントハイライト

本棚

流行にのって!! とか思ったけど、本買わないので大して面白くなかった。技術系の本は高すぎです。買えません。買えません。買えません。ウィッシュリストばっかり溜まっていく。

写真とり忘れたけど、他にもいろんなところに本が散らばっています。明解C言語とか、チャート式数2とか、キャッチャー・イン・ザライとか、図書室 (謎) のとか

自分で買った文庫本は13冊だけだ。全部高校のとき。ハードカバーは3冊ぐらいしかない。ほんと買わないなぁ。図書館とかで十分だしなぁ……置く場所もないし

  1. トップ
  2. book
  3. 本棚さらし

分離の問題って、単純に Event.observe("load", window, func) とかやるとページが完全にロードされるまで JS が一切実行されないことにあるよねぇ。画像を多く含むページとかは特に最悪。前に作った now playing のページ (バグって動いてないかも) なんてもうそれに当てはまってて結構アレだった。

で、このライブラリはどう解決してくれるんだうへへへとか期待して覗いてみたけど現バージョンでは特に対応されていない。すなわち上で書いたようにページが完全にロードされるまで、一切のイベントをキャッチできない。


と、いったところで、Google Group をほげーっと眺めてみると Google Groups: Behaviour Javascript Library というまさにソレなトピックがあって、コードが示されている。結局めんどくさいブラウザの独自拡張に手を出さないといけないみたいだ。

Gecko は DOMContentLoaded イベント (GreaseMonkey の実行タイミングと一緒かな?) を登録する。IE は script 要素の defer という属性を書いてあげればいいらしい。けど、実際試してみると IE でうまくいってないように見える。

どっちにしても Opera でうまくいかない以上、最速にしてストレスを減らすなら HTML 直書きになってしまうような。個人的には直書きが好きじゃないから分離してるけど、分離するだけなら別に behaviour.js はいらないかな (ちゃんとクラスとか id ふっておけばあんまり困らない)。

場合によっては、ポリシーを現実的なほうにズラして直で書く、と思う。諦めが肝心

  1. トップ
  2. js
  3. behaviour.js とか