Harukiya Archives

2006/07/28

category / javascript

Fxを含むGeckoエンジンでは長いURLや、空白を含まない1バイト文字列を折り返さないバグというのがあって、それを回避するbookmarkletの記事を読んだ。

記事本旨はTreeWalkerオブジェクトの部分なのだけど、ダークな自分は<wbr>(独自拡張)に目をつけた。毒をもって毒を制すスピリッツな方へ、はみ出し・横スクロールバー避けの方法。

コメント欄 @FC2の長いURLらしきものを、適当な所で折り返す for Gecko

すでにタイトルからして長い。というか非常に狭い範囲(FC2コメント欄にて、オートリンクをONにして長いURLをカキコ、かつ、それをNNやFxで観覧中)でしか役に立たないスクリプトです。

  1. function breaks_url ( id ) {
  2.  with ( document ) {
  3.   if ( /netscape/i.test( navigator.appName ) && getElementById && getElementsByTagName ) {
  4.    var sComment = getElementById( id ), Links, A;
  5.    if ( sComment ) Links = sComment.getElementsByTagName( "A" );
  6.     for ( var i=0; A=Links[i]; i++ ) A.innerHTML = A.href.replace( /(\/|\.|\?|=|%)/g, "$1<wbr>" );
  7.    }
  8.   }
  9.  }
  10. }

sComment(中身は<%comment_body>)の特定の仕方は過去記事を参照のこと。オートリンクはFC2の純正機能でOKです。オートリンクと文字装飾をキャンセルしている場合なら

  1. function breaks_word ( id ) {
  2.  with ( document ) {
  3.   if ( /netscape/i.test( navigator.appName ) && getElementById ) {
  4.    var sComment = getElementById( id );
  5.    if ( sComment ) sComment.innerHTML = sComment.innerHTML.replace( /(\w\/|\.|\?|=|%|\}|\)|:|;)/g, "$1<wbr>" );
  6.   }
  7.  }
  8. }

こんな感じで、コメント欄内の長いURLやHTML/CSSソースの1バイト文字連続部分を適宜改行させられる。


writeback

  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時
  2.  


< 今日たぶん梅雨明けした | 暑くて眠れない > | 表紙へ戻る | 探す | 案内


ホームページ アフィリエイト レンタルサーバー FC2ブログ キャッシング