Internet Explorer 4.0xのバグもしくは仕様による現象 ■存在するバージョン 4.0,4.01,4.5 [1][Mac]Windows版4.0xでは動作するのにMac版では期待通り動作しないかエラーになる 名前は似ていますが別物です。同じ動作を期待してはいけません。回避策としてはMac版に合わせるか、機種を調べて別ページに分岐させます。Mac版に合わせてもMac版では動作するスクリプトがWin版では動作しない場合がありますので、注意して作成する必要があります。 [2][Win]document[レイヤー名]でレイヤー(<DIV>~</DIV>)が取得できずエラーになる Mac版では動作しますがWin版ではオブジェクトの階層構造が異なるためかwindow[レイヤー名]と指定する必要があります。この指定方法であればMac版でも動作します。 [3][Win]レイヤーの位置が期待通りの位置に移動しない 本来浮動小数で格納すべき値を整数に切り捨てているために0.5や12.3などの小数演算を行うと実際に格納した値とは異なる値が格納され、次に読み出したときに異なった値になってしまいます。これを防ぐには、位置指定用の変数を別に作成し初期状態の時に読み出しておきます。制御する時は、変数で演算を行いプロパティに書き込むだけにします。 [4][Mac]水平線の幅が期待通りの長さにならない バグです。期待してはいけません。 [5][Win]スタイル定義で位置を指定しているにも関わらず直前の<CENTER>タグが有効になり位置が中央になってしまう バグです。<CENTER>タグなどを使用しないでください。 [6][Win]フォントスタイル(style.fontStyle)でMac版はitalic, italicsどちらでも動作するがWin版は動作しない 仕様です。Mac版の方が仕様外です。italicと指定してください。 [7][Win]screen.fontSmoothingEnabledへの書き込みがエラーになる Windows版では読み出し専用です。Mac版が間違っています。 [8][Mac]<A HREF="javaScript:myFunc('漢字')"とした場合、「漢字」の日本語が正しく関数に渡されず文字化けする バグです。文字化けは???|という感じの文字になります。IE3やNSでは正常に渡されます。 [9][全機種]大きめの配列を確保すると動かない Netscapeでは大きめの配列でも低速ながら動きますが、IE4ではハングアップします。これを防ぐには200X200などの大きめの配列は使わないことです。 [10][Mac]フォームエレメントでエレメント名をidにすると参照できない バグです。 [11][Win]document.lastModifiedで設定したタイムゾーン(時差)だけ最終更新日がずれる(減算される) バグです。時差のない国へ移籍しましょう。 [12][全機種]document.lastModifiedの戻ってくる文字列が機種により異なる 仕様です。 [13][全機種](ファイルをサーバーにおいた場合)document.lastModifiedの返す日付が更新日時と異なる サーバーが返すGMTの時刻そのものを表示しており時差を考慮していないために発生します。バグです。 [14][Mac]フィルタの効果が現れず文字が表示される。 仕様です。Mac版IE4.01,IE4.5ではフィルタ機能は使用できません。(適用されない) [15][Win]フィルタの「α合成(アルファブレンディング)」を使用したがウィンドウサイズを小さくしたら効果がJavaScriptで変更できなくなった。 バグです。ウィンドウのサイズをα効果を施した部分より小さくするとフラットと直前に設定した線形、円形、長方形のいずれかしか効果が現れません。さらにフラット以外透明度を指定しても無効になります。(ウィンドウサイズを広げれば直ります) [16][Win]フィルタの「ぶれ/ぼかし(blur)」を適用したが文字が画面外にあると表示がおかしくなる。 バグです。フィルタ効果の対象となる文字や画像がページ上からはみだした場合、表示されるエフェクト部分がおかしくなります。そのため正しくフィルタ効果を施す場合はフィルタ効果の対象となる文字や画像がウィンドウの表示範囲からはみださないようにする必要があります。 [17][Win]フィルタの影(DropShadow)を適用したが文字が画面外にあると表示がおかしくなる。 バグです。フィルタ効果の対象となる文字や画像がページ上からはみだした場合、表示されるエフェクト部分がおかしくなります。そのため正しくフィルタ効果を施す場合はフィルタ効果の対象となる文字や画像がウィンドウの表示範囲からはみださないようにする必要があります。 [18][Win]フィルタの影(shadow)を適用したが文字が画面外にあると表示がおかしくなる。 バグです。フィルタ効果の対象となる文字や画像がページ上からはみだした場合、表示されるエフェクト部分がおかしくなります。そのため正しくフィルタ効果を施す場合はフィルタ効果の対象となる文字や画像がウィンドウの表示範囲からはみださないようにする必要があります。 [19][Win]フィルタの「発光(glow)」を適用したが文字が画面外にあると表示がおかしくなる。 バグです。フィルタ効果の対象となる文字や画像がページ上からはみだした場合、表示されるエフェクト部分がおかしくなります。そのため正しくフィルタ効果を施す場合はフィルタ効果の対象となる文字や画像がウィンドウの表示範囲からはみださないようにする必要があります。 [20][Win]フィルタの「発光(glow)」で発光強度を大きくすると菱形に発光してしまう。 プログラムの手抜きによるものか作成者が画像処理に関して素人であるために発生するものです。発光強度は1か2など、なるべく発光させないようにするのが良いでしょう。 [21][Win]フィルタの「発光(glow)」で発光強度を大きくすると隣の文字の発光が干渉してしまい発光しているように見えない。 プログラムが貧弱なために発生するものです。多分作成者が画像処理の素人であったために発生するものと思われます。これを回避するには隣の文字と干渉しない程度の発光強度(1とか2)を指定するのが良いでしょう。 [22][Win]フィルタの「波形(wave)」を適用したが文字が画面外にあると表示がおかしくなる。 バグです。フィルタ効果の対象となる文字や画像がページ上からはみだした場合、表示されるエフェクト部分がおかしくなります。そのため正しくフィルタ効果を施す場合はフィルタ効果の対象となる文字や画像がウィンドウの表示範囲からはみださないようにする必要があります。 [23][Mac]外部JavaScript内の文字が正しく表示されず????となる。 仕様です。Mac版IE4.01/4.5ではShift-JIS,JISなど旧来の日本語コードは使用できません。UTF-8 (Unicode)にして保存すれば正しく表示されます。 [24][Mac]スクリプトが間違っているのにエラーにならない。 Mac版では実行されるまでエラー処理を行いません。このためバグの発見が難しくなります。バグがあっても非常に不親切な「スクリプトエラーが発生しました」というメッセージ程度で、どこがエラーなのか示してくれません。Mac版でスクリプトの制作を行うのは駄目です。NetscapeかWin版のExplorerを使用しましょう。 [25][Win,Mac]同じIDのレイヤーを<DIV><SPAN>で作成したらレイヤーを認識しなくなった。 IE4は同じIDのレイヤーが存在する場合、どちらのレイヤーも存在しない(内部エラー)とみなします。レイヤー別に異なる名前を付けて下さい。 [26][Mac]データバインドで表示する日本語文字が文字化けする。 仕様です。日本語コードをUTF-8 (Unicode)にすれば正しく表示されます。 [27][Win,Mac]引数と同じ名前の変数をvar宣言したら認識されなくなった。 仕様です。関数の引数を同じ名前の変数を関数内でvar宣言すると変数内容が未定義になります。 [28][Win]Mathオブジェクトの演算結果がNetscapeと違う。 仕様です。Explorerの方が演算精度は悪くなります。またWinとMac版でも精度が異なります。 [29][Win]サブウィンドウを開きdocument.writeで書き出そうとしたらサブウィンドウが存在しないと言われた バグです。処理が間に合わずウィンドウが開く前に実行すると上記現象になります。つまりサブウィンドウが開くまで待つという処理が抜けているようです。特に初期のIE4に見られるようです。 [30][Win]外部JavaScriptファイルを読み込むとエラーになる。 バグです。ビルド番号(バージョン情報で表示できます)が4.72.2106.9以前のものがエラーになるようです。最新版にすれば直ります。 [31][Mac]alert,promptで表示する日本語が化ける 仕様です。外部JavaScriptファイルにデータが存在する場合や<A HREF="~">でパラメーターが渡される場合に発生します。[8]参照。 [32][Mac]Macromedia Flashムービーが制御できない Mac版ではJavaScriptによるMacromedia Flashムービーの制御はできません。Flashからのデータの受け取りもできません。 [33][Mac]Macromedia Directorムービーが制御できない Mac版ではJavaScriptによるMacromedia Directorムービーの制御はできません。 [34][Mac]なぜかExplorer 4の機能が動作せずExplorer 3の命令しか動かない 一回Explorer 4を入れた後にExplorer 3を入れた時に「古い」(上書きされる)を選択するとこうなります。システムフォルダの機能拡張フォルダ内のMS Library FolderのMS JScript (PPC)のバージョンを確認してください。4.0/4.5であればExplorer 4の機能が使用できます。そうでなければ再度Explorer 4.01/4.5をインストールし直して下さい。 [35][Win]getYearの返す値が2038年を超えると70しか返らない 仕様です。2038年1月19日午前3時14分5秒(前後)までは4桁で、以後は70になります。IE5では修正されており2099年まで正常にカウントできます。