閑話休題( 2 )
最終更新日:

前へ 目次 次へ

 少し、肩の凝る話題が続いたので、今回はコマゴマとした話題をば...


●Array コンストラクタ

 NNで Array コンストラクタが JavaScript1.2 でそれ以外のバージョンと 異なることは有名です。また、この仕様変更は JavaScript1.3のブラウザ ( NN4.6 など )では上位互換が保たれていて、

    <script language="JavaScript1.2">

 と書いたスクリプトの中でも有効です( さすが Netscape社 :-p )。

 然し、IE では同じ JavaScript1.2 と指定しても仕様が異なりますので

    <script language="JavaScript1.2"><!--
        :
    a = new Array(5);

 なんて書くと、IE と NN での違いに泣くハメに陥ります。 f(^^;;

●名称の付け方

 私は最初のころ関数名で大文字で始まる名称を コンストラクタとして使用していました。

    sample = new Sample();

なんてね。

 これ、今のブラウザでは通用するけど、IE3 の場合 大文字・小文字、 変数名・関数名全て同一に扱うので、エラーになります。

 最初はこれが分かんなくてね〜。

●A タグ内のスクリプト

  1. <a href="javascript:location='p2.htm'">リンク</a>
  2. <a href="" onClick="location='p2.htm';return false;">リンク</a>

上の2つ殆ど同じだけど、チョット違います。

1) はアニメーションGIF なんかあるページでは NN だと アニメーションが停止します。
JavaScript を OFFった場合、 1) は <a href="#">リンク</a> と同じ(?) で、 2) は <a href="">リンク</a> と同じ動作( ディレクトリ参照が許可 されていればリストが表示される )になります。

 要はケースバイケースで使い分ける必要がありそう。 f(^^;;

●1行の高さ

    <div style="position:absolute; font-size:48px;">DIV</div><br>
    <div style="position:absolute; font-size:24px;">DIV</div><br>
    <div style="position:absolute; font-size:12px;">DIV</div><br>
    

と記述すると、例えばベースフォントのサイズが 12px だとすると、 3つのレイアは重なると考えられますが、 NN では重なることはありません。
レイア内で指定したフォントサイズが後続の <br> の改行サイズに影響を 与えているようです。

レイアと BR タグの間に   ( スペースではなく )や1文字以上の文字列を入れると IE と同じようになります。

 余談ですが、因みに IE5 では


    <div style="position:absolute;">DIV</div>
    <center>Center String</center>
    

などと記述すると、レイアの配置も CENTER になります。

ん〜、 NN のバグは理由が想像できるが、 IE のバグはいつもビックリ箱のようです...
...作りの見当がつかんっ。 f(^^;;;

前へ 目次 次へ


Copyright(c) 1999 ShinSoftAll rights reserved.