クッキーをJavaScriptでどうやって削除するのか、これは、簡単である。ただ単に有効期限を過去の時間に設定してやればよい。
なんてのは嘘。実はこの方法は、pathが一致していなければ意味が無い。
まずはじめに、document.URLを / (スラッシュ)で分割して配列に収める。次に、1から始めてその配列の数だけクッキーに「有効期限を過去の時間に設定した値」を書き込む。pathには各配列の値を入れる。1から始めるのは、丁度配列の2番目が空の文字列になるため、pathを明示していない場合のクッキーを削除できるからである。(配列[0]にはhttp:が入っている)この要領で確実に他所のサイトのクッキーを削除できる……と、思う。しかしこれは乱暴なので、実際には深い階層のpathから順に試していき、消せた時点でループから抜けると良いかも知れない。
できないことは無いけども冗長だしベターな方法が見つかったので取り消し。ユーザーの立場に立って、にわかにクッキーに関心が沸いてきた。
ユーザーの利便性のためにあるはずのクッキーを、何故ユーザーが能動的に扱えないのか。例えば文字サイズなど、サイトによってベストな大きさはそれぞれ異なる。サイトを移動するたびに変更するより、クッキーを使って覚えておいた方が良いに決まっている。サイト管理者を罵る前に、ユーザーはブラウザ製作会社を責めるべきだ。そんなこと言っても仕方ないから、自分で何とかするわけである。
Proxomitronへの依存度を最小に抑えた。link要素はDOMで、select要素はdocument.writeで書き出すようにし、イベントはdocument.onclick に代入したので、埋め込むのは本体のスクリプトタグだけに。これで、フィルターがうまく機能しないことはほとんど無くなった。