Wellcom to my blog!

2008年8月27日水曜日

スタイルシートで正規表現っぽいものを使う

スタイルシートに使われる記号



CSSをいじっていて前々から気になっていたのがusercontent.css - Mozilla Firefox まとめサイトなどのページで度々見られる



「href^」「href$」「href*」



とかいうセレクタ。



――ただのhrefと何が違うんだい?――



気にはなったけどもGoogleで検索しようにも「^$*」といった記号は検索文字に使えないわ適当に「スタイルシート ワイルドカード|正規表現」とか「スタイルシート 記号」とかで検索しても出てこないわ、ていうか誰も書いてないんじゃないかっていうくらい情報が無くて難儀しました――が、持ち得る知識を最大限に活用し、何とか気合いでこの記号の意味を知ることができましたので、社会貢献のために書き記しておこうと思います。

使い方の説明



まず、「^$*」といった記号はhrefだけでなくsrcやvalueなど、あらゆる属性に対して使用することができます。



例:

  • a[href^="javascript:"]

  • a[target$=".pdf"]

  • embed[src*="youtube.com/v/"]



^(サーカムフレックス)

属性の値の始めの部分にマッチします。

例:a[href^="javascript:"]

javascript:hogehogeやjavascript:foobarにはマッチしますが、http://hogehoge.comにはマッチしません。

$(ドル)

属性の値の終わりの部分にマッチします。

例:a[href$=".pdf"]

http://hogehoge.com/foo.pdfやhttp://fugafuga.com/bar.pdfにはマッチしますが、http://hogehoge.com/foobar.htmlにはマッチしません。

*(アスタリスク)

属性の値の一部にマッチします。ワイルドカードみたいなもんです。

例:embed[src*="youtube.com/v/"]

http://www.youtube.com/v/fooやhttp://jp.youtube.com/v/barにはマッチしますが、http://www.hogehoge.com/v/にはマッチしませんし、http://www.nicovideo.jp/thumb_watch/foobarにももちろんマッチしません。



追記:よくよく調べたらCSS3の属性セレクタというものだった



Opera 9 でサポートされるウェブ仕様 - CSSに「Attribute なんちゃら」って書いてありました。これがまさに探し求めていたものでした。

zng.info - 選択子に物凄く分かり易く翻訳されてます。



こんな基本的なこと知らなくて記事書いちゃったなんて恥ずかしいよ……。

【Opera】新しいウィンドウ(タブ)で開きたくない

Webブラウザ「Opera」を使っていない人にはあまり関係の無い記事です。

target="_blank"を憎む



ページ製作者がブラウザ利用者に対して新しいウィンドウで開かせることのできるtarget="_blank"が嫌いです。

その昔メモリが少なかった時代は新しいウィンドウを開かれるだけでパソコンの処理が重たくなったりしたもので、私はこれを憎んですらいます。



必要最低限に使用する分には問題無いだろうとも感じますが、不必要に使おうとするページ製作者はたくさんいますし、必要か不必要かの基準は人によってまちまちで、時に私にとってストレスになるばかりです。



意外と知られてないようですが、利用者は新規ウィンドウで開きたきゃリンクをShift+クリックしたりホイール+クリック(中クリック)すれば開けることを是非ここで覚えてってください。



Firefoxにはtarget="_blank"を無いものと見なす設定(参考:Foamy Capriccio: target="_blank"撲滅委員会)がありますが、私の愛用するOperaには――ありません。

――とすっかり思い込んでいたのですが、それを解決する方法を書いてくださった人がおります。



サイト毎に、CSSを使わず、target='_blank'を殺す方法 - by edvakf in hatena
opera:config#UserPrefs|IgnoreTarget



にチェックを入れるだけでいいそうだ。


私はopera:configの項目――500個以上全ての設定に目を通し、興味深い設定は全て試し、機能とそのメリット、デメリットなどを把握しているつもりです。

上記の設定も例外ではなく、試した覚えがあるのですが、果て、どんな理由で現在使っていないのだろうと度忘れを起こしてしまったことがこの記事を書くきっかけです。



先程まではtarget="_blank"をProxomitronのフィルタで削り、新規ウィンドウが開かれるのを回避していました。OperaにFirefoxのようにまともな設定項目が付け足されない限りこの方法しか無いのだと信じていました。

Operaの設定によって同じ機能が実現するならばそれに越したことはありません。忘れた記憶を取り戻すべく、早速設定を試すことにしました。

opera:config#UserPrefs|IgnoreTargetを試す


方法:opera:config#UserPrefs|IgnoreTargetにチェックを入れる。「保存」を押す。Operaを再起動。終わり。

「『opera:config』って何?」な人はググれ
<a href="foobar" target="_blank">foobar</a>

など、target="_blank"は、私の求めるように無効となり、現在のタブで開くようになりました。



しかし、世の中にはtarget="_blank"よりも悪質な「JavaScriptによって開かれる新規ウィンドウ」というものがあります。JavaScriptがオンでないと先に進めないというタチの悪いものですが、これにも効果があるのか試しておこうと思い立ちました。(ちなみにFirefoxではきちんと現在のタブで表示してくれます)



実験方法:JavaScriptをオンにした状態で下記のページのJavaScriptが使用されたリンクをクリックする。

結果:JavaScriptによって開かれる新規ウィンドウには効果無しどころかリンククリックできねー

All Aboutに至ってはどのリンクも機能しなくてびっくりしましたが、これはAll Aboutでリンクをクリックできない - ウェブブラウザOpera みんなで作るまとめページ (Opera-PukiwikiPlus!)にもあるように、ロードされるJavaScriptのファイルが悪いらしいですね。



リンクがクリックできないのはダメダメですが、これを回避するためにはメニューの「ツール」→「設定」→「ポップアップ」→「すべてのポップアップを有効にする」とすることが有効です。(デフォルトは「要求しないポップアップを無効にする」)

しかし、この設定をすると折角の頑強なOperaが特にブラウザクラッシャーに対して脆弱になりますので、おすすめはできません。



つまり、要するに、opera:config#UserPrefs|IgnoreTargetは使うに難儀……と。

そうだそうだ、だからこの設定を使わなかったんだ。

ほかの方法


Proxomitronを利用して
Name = "Kill New Window"
Active = TRUE
Bounds = "<(a|area|base)*>"
Limit = 256
Match = "\#target\=$AV((_|)(blank|new))\#"
Replace = "\@"

とフィルタでtarget="_blank"を無効にするのも一つの手ですが、Proxomitronを使用していない人には明らかに向いていない方法です。



私は外部のアプリケーションにも頼らないユーザースタイルシートを利用する方法に辿り着きました。



先に紹介したedvakfさんの記事にも載っていますが、そこで紹介されているCSSを少しいじったものを公開しておきます。
:link[target$="blank"],:link[target$="new"],:visited[target$="blank"],:visited[target$="new"]{cursor:crosshair;-o-link:attr(href) !important;-o-link-source:current !important;}

これをあなたのユーザースタイルシートにコピペするだけ。

オリジナルよりも汎用性が高くなっているのと、新しいウィンドウで開かれるはずのリンクをクリックしようとすると、カーソルが十字になるところが便利かと思います。



Proxomitronの方法、ユーザースタイルシートの方法、どちらもJavaScriptのリンクから開かれる新規ウィンドウには対応していませんが、副作用も無く便利なんじゃないでしょうか。

これで私もFirefoxを妬まないで快適にOperaを使用することができましたとさ。

2008年8月15日金曜日

赤錆の出る水道の水をご飯にかけ、歯の詰め物が取れても盆休みで歯医者はやっておらず、ものが食えずも知人のパン屋からパンを頂き、我が家の車が故障し、iMacのDVDドライブが故障し、とうとうHDD(D:\)が故障した

貴重な盆休み、風呂に入ってゆっくり休もうかと思った矢先の不幸がHDD故障。どうやら日々の暑さに参ったらしい。

只今半泣きになりながら復旧中。



タスクマネージャによると起動時間が240時間を越えている


さすがに猛暑日が続く最中(10日間程)ぶっ通しで稼動させておけばHDDが逝去するのも因果かもしれませんね。



この事態が起こるであろう想定はしていました(悪夢怖い)。

でも何もこれからバックアップしようという最悪のタイミングで壊れなくてもいいじゃないかと思いますが、世界というのはそういう風にできているので仕方ありません。以前のバックアップがあるだけまだダメージが少ないものと思っておきます。



しかし最近ついてないです。善良市民の私だけが不幸なのは不公平です。



この不幸をみんなにもあげたい心境です。



お前らも不幸になるがいい。

2008年8月4日月曜日

「Lolita Organization Supported by COMIC LO」による熱い主張まとめ

COMIC LOという成年向け雑誌があります。

この雑誌、編集者がユーモラスなことで割と有名です。

「マナー守って楽しいロリータ」 内省するロリコン誌の主張! : 日刊サイゾー

真面目なエロロリ漫画誌COMICエルオー - おもちおいしいです><

10月29日追記:ロリコンは「正しく」なんてないから~LOが払った小さな配慮~ - たまごまごごはん



COMIC LOは、たまに、普段広告などに使われるスペースである雑誌の扉や見返しに面白い主張を載せることがあるのですが――

私が直す! - 男の魂に火をつけろ!

2008年9月号のCOMIC LOの「ロリコンは直せます」に感動を覚えまして、勢いでCOMIC LOの編集による暑苦しい熱い主張をまとめてしまいました。



やる気が続く限り追記していきたいと思います。

COMIC LO 創刊号


STOP! DON'T TOUCH 少女には手を出さない。それがマナー!
ご来園のお客様に申し上げます。小さなお子様へはくれぐれもお手を触れないようお願いいたします。
触らない これが仁義だ
あなたの将来を損ないますので手を出すのは止めましょう。倫理マナーを守りましょう。

COMIC LO Vol.2


私はロリコンです こども大好きです だから手は出さない YES!ロリータ NO!タッチ マナー守って楽しいロリータ。
NOT FOR SALE(非売品) 少女は売り物ではありません。時々売ってるように言ってますが、買っちゃいけません。ぜぇーたいにダメです。特にこの本を読んでくれてる方ならば。もし、「売春る自由」ってのがあるのなら、「買春わない自由」だってあるんだい!って言いたい。「Lolita Organization」と「comic LO」は児童買春が大ッキライだ。 天然果汁少女100%

COMIC LO Vol.3


今年は社会のモラルが大変不足しております 想像力を上手に使って節度ある行動をお願いいたします 人生を大切にね。
子供に手を出すな。 ただ、それだけ言いたい。

COMIC LO Vol.4


LOなんかやめてやる この世から児童性犯罪が完全になくなるって言うのなら、本気でナ。
同士よ、道を誤るな。 この道は歓びに続く道だ LOLITA NAVIGATION SYSTEM.
COMIC LO T-Shirts 75% Cotton / 25% Polyester = 100% LOLITA SIZE = FREE LOLITA ONLY 少女の誘拐禁止 (人生)転落の危険性あり 踏みとどまれ 最低年齢18歳 子供の安全は、ロリコンみんなの願いです。 法規を守ってGOOD LOLITA LIFE!

COMIC LO Vol.5


ロリコンの権利と義務 権利:妄想とオナニーの完全自由化を求ム! 義務:子供に手を出したら、死んでしまいなさい!
現役合格を目指すロリコン受験講座 問題:□に入る記号を答えなさい。 <2003年ロリコン検定1級試験問題より> ロリコン検定1級2級に昨年114万人が合格!! 業界トップの合格率!! ロリコンを目指すなら エルオー学習塾 成年向け学習
ロリコンなら子供を守れ。 募金でも何でもイイです。偽善でも構いません。子供を守る力になって下さい。

COMIC LO Vol.6


よその国のことはともかく、LOが(まっとうな)理性と想像力で読まれている、のんきでやさしい日本がわりと好きだ。

COMIC LO Vol.7


ロリコン危機管理マニュアルより 小さな女の子には不用意に近づかないこと。 とても危険です 自分の身は自分で守りましょう

COMIC LO Vol.8


さいごの楽園 Promised Land 豊かな自然に恵まれた楽園リゾート ロリマンガ島 私達に残された世界でたった1つの、小さな小さな空想上の土地。そこでひっそりと、平和に暮らしてみませんか。Lolita OrganizationとCOMIC LOはあなたの「もう1つの人生」を応援いたします。 LO観光局

COMIC LO Vol.9


「人生に音楽とロリータがあれば、それでいい。」 MUSIC&LOLITA

COMIC LO Vol.10


こんな世界を作った「元子供」を代表して君たちに本気で「ごめんなさい」を言いたい それと、あとはよろしく、と。

COMIC LO Vol.11


ご存知ですか? 平成17年4月より新たな目的税である「ロリコン税」が創設されます。

COMIC LO Vol.12


守ろう、大人のプライバシー 「子供の世界」と「大人の世界」とでは、住み分けが必要です。 小さいお子さんの脳は、爬虫類くらいの知能しかありません。危ないものは、お子さんの手の届かないところに保管してください。

COMIC LO Vol.13


世界をこんなふうに変えた犯罪者をわたしたちは絶対に許さない。 今年こそ「何もない」年でありますように。
あとがき拡大版

COMIC LO Vol.18


"Surprising sense of balance" 「驚くべきバランス感覚」 ロリコンマンガをめぐる「あいまいさ」は、まさに日本の問題である アンドレアス・ヴァン・ヴィック(ニューヨーク国際文化芸術事業財団研究所上級研究員)

COMIC LO Vol.19


人生はゲームですか?

COMIC LO Vol.20


もういちどロリータのことを考えてみようと思う。

COMIC LO Vol.21


ウチはフィクション専門なので夢は売ってません。あしからず。

COMIC LO 2006年2月号


信じよう。 僕達は、本気で愛を・・・

COMIC LO 2006年3月号


Butterfly Effect 実験です: 「LOの漫画が減ると、いくらかでも犯罪は減るのだろうか?」 世界がどんな因果で動いているか、誰か教えてください。ちなみに今月号漫画が少ないのは編集が発注し忘れただけです。

COMIC LO 2006年4月号


L'amitie ロリコンに必要なのは、幼女ではなく友人である。 「このロリコン野郎」とバカにしてくれる友人(非ロリコン)がいれば、人生は上々だ。

COMIC LO 2006年5月号


春のキャンペーンクイズ クイズに答えてビッグチャンス!? 咲く櫻は散り、子供もやがて大人になります。では、ロリコンは一体何になるのでしょうか? クイズに正解すると、人生何か分かった気がするかもしれません。 よくある間違いでは、「犯罪者」とか答える人はセンス0点。編集的には、「特に何にもならない」が良いかもという方向で解答してみたい。

COMIC LO 2006年7月号


このロリコンどもめ!恥を知れっ! また、ロリ漫画を抹殺しようとする善意ある人々よ。聞いて欲しい。己の無知無能さを政治的あるいは世論的な言葉で飾り立てることはあなたの人格を貶めることにしかならない。その行為はテロリストにも劣る。お願いです。その善意は、身近にあるか弱き者たちへ向けて欲しい。真の善意を彼らに与えて欲しい。

COMIC LO 2006年8月号


ロリコンはやり治しがきかない。 人生やりなおしがきかないってもんですが、特にロリコンが道を誤った場合残りの人生が最低なものになります。人生のやり直しがきく子供たちとは違うってことを、大人なんだから理解しましょう。

COMIC LO 2006年11月号


ロリマンガの破滅の日は近い のかどうかは誰も知らない。ただ今を楽しみ、日々をより善きものになるべく生きていくだけだ。たとえ人生に寂しさを感じようとも、我々にはロリ漫画がある。それは幸いである。

COMIC LO 2007年3月号


僕達(ロリコン)は、人間だ。

COMIC LO 2007年7月号


あいつら(ロリコン)は 臭い。キモイ。ウザイ。

COMIC LO 2007年10月号


夏こそしっかりオナニーをしよう!

COMIC LO 2008年4月号


新コーナーLO子供相談室

COMIC LO 2008年5月号


50回、生き延びただけなのかもしれない。明日全てを奪われるかもしれない。LOとはそんなものです。

COMIC LO 2008年9月号


「最近ロリコンでいるのが辛い・苦しい…」という方、ロリコンは直せます。 日本ロリータオーガニゼーション医師会

COMIC LO 2009年3月号


我々は、冬陽の中で夢を見る。暖かな楽しいイメージの夢。はかなく切なく可愛らしい夢。恐ろしくも逃れがたい衝動の夢。冬には夢見る力がある。よって、我々は春を断固拒否する。 憂鬱でメランコリック、とてつもなくロマンチストな人々へ連帯と信念の挨拶を贈る