Client

目次

はじめに

クライアントの情報を持つクラスです。 主に DHTML で、汎用的な(クロスブラウザな)値が欲しいときに使用します。ブラウザは何であるか、どれだけウィンドウがオフセットしているか等を得ることが出来ます。Element クラスなど他クラスでもこのクラスを多用しているので、他のクラスを使うときは必ずこのクラスを読み込んで下さい。

このクラスはスタティックなメンバ(クラスメンバ)しか保持していないので、インスタンスを生成する必要はありません。故、コンストラクタ、インスタンス変数、インスタンスメソッドは存在しません。

このクラスでは Dimension クラスを使用しています。

使用例

if( Client.IE ){
    
    if( Client.IE5 ){
        
        // Internet Explorer 5 用の処理
        
    }else{
        
        // Internet Explorer 4 用の処理
        
    }
    
}else if( Client.NN ){
    
    // Netscape 4 用の処理
    
}else if( Client.MZ ){
    
    // Netscape 6 , Mozilla 用の処理
    
}

var size   = Client.getInnerSize();  // ブラウザのサイズ
var offset = Client.getPageOffset(); // ブラウザのオフセット値

クラス変数

boolean IE ; // document.all が真のとき true
boolean NN ; // document.layers が真のとき true
boolean MZ ; // 主に document.getElementById が真のとき true

boolean WIN ; // OS が Windows   のとき true
boolean MAC ; // OS が Macintosh のとき true

string NAME ;     // ブラウザ名
string VERSION ;  // ブラウザのバージョン 自然数(小数点以下は切り捨て)
string PLATFORM ; // プラットフォーム
string UA ;       // ユーザーエージェント

boolean IE4 ; // Internet Explorer 4 のとき true
boolean IE5 ; // Internet Explorer 5 以上のとき true
boolean NS4 ; // Netscape 4 のとき true
boolean NS6 ; // Netscape 6 のとき true
殆どが DHTML 用の変数です。

クラスメソッド

背景色 : setBackgroundColor , getBackgroundColor
void setBackgroundColor( string color );
void setBackgroundColor( Point3 color );

string getBackgroundColor();
レイヤーの背景色を設定、または取得します。
取得できる値は Internet Explorer に準拠し、16進数6桁のカラー文字列(ff0000など)です。
Point3 クラスを読み込んでいる場合、引数に指定することができます。
Client.setBackgroundColor( "ffffff" );

status = Client.getBackgroundColor(); // 結果は ffffff
サイズ : getInnerSize
Dimension getInnerSize();
ブラウザの表示可能領域を返します。
フレーム構成の場合、そのフレームのサイズを返します。
var size = Client.getInnerSize();

status = size.getX() ; // 結果は 400 等,ブラウザの表示可能な幅[px]
オフセット : getScroll
Dimension getScroll();
ブラウザのスクロール値を返します。
var offset = Client.getScroll();

status = offset.getX(); // 結果は 300 等,ブラウザのX方向のスクロール値[px]
標準出力文字列 : toString
string toString();
Client クラスの標準出力文字列を返します。 返される文字列は "Client : "+platform+" , "+appName+" "+appVersion ; です。
status = Client ; // 結果は "Client : Win32 , Microsoft Internet Explorer 5" 等

メソッド一覧

Client クラスで使用できるクラスメソッドのリストです。
メソッド名説明
voidsetBackgroundColorブラウザの背景色の設定
stringgetBackgroundColorブラウザの背景色を取得
DimensiongetInnerSizeブラウザの表示可能領域を取得
DimensiongetScrollブラウザのスクロール値を取得
stringtoString標準出力文字列

補足

■ インスタンス変数 MZ
インスタンス変数 MZ について、
boolean MZ ; // 主に document.getElementById が真のとき true
と説明していますが、実際は全然意味が違います。ソースを見て頂ければ分かりますが、MZ は
Client.MZ = ( navigator.userAgent.match(/gecko/i) != null );
と定義されています。つまり、レンダリングエンジン Gecko が使用されているブラウザのとき true となります。MZ は Mozilla の略記です。当初は
Client.MZ = ( document.getElementById !== void 0 );
と定義していたのですが、Element クラス などでの処理の都合上、こう定義することになりました。IE4 と IE5 で処理を分けたいとき、
var isIE4 = Client.IE && !Client.MZ ;
var isIE5 = Client.IE &&  Client.MZ ;

等としても意味がないので注意して下さい。
■ 私的なこと(どうでもいいこと)
DHTML において「ブラウザのサイズ」と「中心座標」は重要な要素です。 僕はいつも次のようにしています。
var SIZE   = Client.getInnerSize(); // ブラウザの表示可能領域
var CENTER = new Dimension( SIZE ); // ブラウザの中心座標
CENTER.scale( 0.5 );