Hatena::Groupchinese

妄言砂漠

2006-06-23

[] FirefoxのURL折り返し  FirefoxのURL折り返し - 妄言砂漠 を含むブックマーク はてなブックマーク -  FirefoxのURL折り返し - 妄言砂漠

「URLっぽい文字列が右端で折り返されずレイアウトが乱れます」にあるように、Firefoxでは長いURLが画面右側にどーんと突き抜けます*1。格好悪いし、読みにくいし、なぜさっさと直さないのか謎なのですが、自分のサイトにURLの自動リンク機能を付けようとしていて、ごまかす方法を思いついたのでメモしておきます*2

以下のJavascriptを適当なところにおいて、bodyのonload時に実行するようにします。

function trim_long_url() {
    var len = 50;
    var anchors = document.getElementsByTagName('a');
    for(var i=0; i<anchors.length; i++){
        var anchor=anchors[i];
        var text = anchor.innerHTML;
        if (text.length > len) {
            text = text.substring(0, len);
            text +='...'
            anchor.innerHTML = text;
        }
    }
}

実行例はこんな感じです。長い部分を切り落として「...」にしてるだけです。アンカータグにしか使えませんが、ブログツールだとURLを記述したら<a href="url">url</a>の形式で自動リンクされることが多いので、これでもけっこういけるんじゃないかと。ページ内にアンカータグがたくさんあると大変そうですけど。

*1:例えば以下のURLをFirefoxで表示しようした時とか
http://www.google.co.jp/search?q=getElementsByTagName&start=0&hl=ja&lr=lang_ja&num=100&ie=utf-8&oe=utf-8&client=firefox&rls=org.mozilla:ja:official

*2:何とかできるのは、はてなダイアリーの「リンク元」のように、<a href="url">url</a>形式で表示している場合だけです

トラックバック - http://chinese.g.hatena.ne.jp/Ctrans/20060623