mailtoリンクを見分ける @ 思考/謎で、Mozillaのユーザースタイルシートでmailtoスキームでリンクしているアンカーを見分ける方法が紹介されていますが、ふと思いついて私もInternet Explorer6 にて同じようなことをやってみました。
a:link, a:visited{
color : expression( (/^mailto:/.test(this.href)) ? '#000' : '#fff' ) !important
}
a要素のhref属性のURIがmailto:スキームを持っているなら、文字色を黒(#000)、そうでないなら白(#fff)にします。いやこれでは役に立たないのですが、取り敢えず例として。
何を今更expressionといった感がありますが、thisキーワードがセレクタで表される要素オブジェクトになっていたというのが発見でした。もっと早く気づいていれば
expressionについてはsetExpressionを参照。
ということは、URIがhttp:等のスキームコンポーネントを持っていて、かつdocument.domainを含まないなら、外部サイトへのリンクであることが推測できるかもしれません。 結局そのくらいしか思いつきませんでしたが、まあ一応。そもそも、外部サイトだろうと内部サイトだろうと、あまり関心がないというか。