Fxを含むGeckoエンジンでは長いURLや、空白を含まない1バイト文字列を折り返さないバグというのがあって、それを回避するbookmarkletの記事を読んだ。
記事本旨はTreeWalkerオブジェクトの部分なのだけど、ダークな自分は<wbr>(独自拡張)に目をつけた。毒をもって毒を制すスピリッツな方へ、はみ出し・横スクロールバー避けの方法。
すでにタイトルからして長い。というか非常に狭い範囲(FC2コメント欄にて、オートリンクをONにして長いURLをカキコ、かつ、それをNNやFxで観覧中)でしか役に立たないスクリプトです。
function breaks_url ( id ) { with ( document ) { if ( /netscape/i.test( navigator.appName ) && getElementById && getElementsByTagName ) { var sComment = getElementById( id ), Links, A; if ( sComment ) Links = sComment.getElementsByTagName( "A" ); for ( var i=0; A=Links[i]; i++ ) A.innerHTML = A.href.replace( /(\/|\.|\?|=|%)/g, "$1<wbr>" ); } } }}sComment(中身は<%comment_body>)の特定の仕方は過去記事を参照のこと。オートリンクはFC2の純正機能でOKです。オートリンクと文字装飾をキャンセルしている場合なら
function breaks_word ( id ) { with ( document ) { if ( /netscape/i.test( navigator.appName ) && getElementById ) { var sComment = getElementById( id ); if ( sComment ) sComment.innerHTML = sComment.innerHTML.replace( /(\w\/|\.|\?|=|%|\}|\)|:|;)/g, "$1<wbr>" ); } }}こんな感じで、コメント欄内の長いURLやHTML/CSSソースの1バイト文字連続部分を適宜改行させられる。
< 今日たぶん梅雨明けした | 暑くて眠れない > | 表紙へ戻る |
http://www.google.co.jp/search?hl=ja&q=%E5%85%A8%E9%83%A8%E3%81%99%E3%81%B9%E3%81%A6%E3%81%A9%E3%81%93%E3%81%BE%E3%81%A7%E3%82%82%E3%81%BE%E3%82%8B+%E3%81%A3%E3%81%A8%E3%81%8A%E8%A6%8B%E9%80%9A%E3%81%97
→ http://blog2.fc2.com/s/sug/file/20060728.png-28日20時