■キー割当表示 [Shift-H] |
─ KeyNavi:キーボードを活用して ホームページを快適に─ |
ホーム [0] JavaScriptバグ&回避法リスト:1.目次 [1] 5. レイヤー編 | ・サイトマップ [Shift-S] |
JavaScriptバグ&回避法リスト |
■ 5. レイヤー編 |
|
■ 5.1 div要素でabsoluteかrelativeを指定要(NS4) |
各種position指定で実験してみたページ(Netscape向け)
通常の要素(=static配置)はJavaScriptで制御できないので不便です。
また「onmouseover」「onmouseout」ハンドラは 「<div>」内に書いても動作しません。「<layer>」内に記述する必要があります。 「<layer>」を使わない場合は HTMLではなくスクリプトから指定します。
3.3 windowのサイズ変更でCSSレイアウト崩壊(NS4)にも注意!
参考:各ブラウザ使用率(onestat.com 03/07/28発表)によるとNS4は0.6%。
http://www.onestat.com/ html/ aboutus_ pressbox23.html
■ 5.2 レイヤー内のオブジェクトの指定方法に注意(NS4) |
IEやNetscape6+,Operaなどのブラウザでは オブジェクトがレイヤー内にあるか否かに関わらず 「document.getElementById()」「document.forms」「document.images」 などを利用できます。
一方 Netscape4.xの場合、少し異なる方法が必要です。 例えばレイヤー「lay1」内のレイヤー「lay2」にアクセスするには 「document.layers["lay1"].document.layers["lay2"]」などとなります。 フォームについては 「document.layers["lay1"].document.forms...」などとなります。 画像についても同様。
レイヤーが幾重にも入れ子になっている場合は それらを階層的に全て指定する必要があります。
しかし、 オブジェクトの取得に親レイヤーのIDを控えておくのは面倒です。 そこで再帰的な関数を作ると単一のIDからオブジェクトを取得できます。
KeyNavi内部関数「kl_getelem(id)」ではNetscape4.xの場合も含めて
単一のIDからレイヤーオブジェクトを取得します。
id値からオブジェクト取得:kl_getelem(id) (<JavaScript@KeyNavi.Net)
■ 5.3 背景色変更がきちんと動作しない(NS4) |
<layer>タグと組合わせる、
JavaScriptでclip.widthを指定する、
動的に作成したレイヤーを利用する
などによって回避できます。
レイヤーの背景色を指定(<JavaScript@KeyNavi.Net)を参照。
■ 5.4 レイヤーに対するdocument.write()が不安定(NS4) |
但しスタイルシートの指定内容、他の要素との絡みで 背景色や背景画像が消えたり、大きく表示が崩れることがあります。
ボックスのサイズが中身に合わせて変わることがあります。 この問題を避けるには スタイルシートかJavaScriptでクリップ指定を追加します。 スクリプトで「e.clip.width=...」を予め実行しておくなど工夫してみて下さい。
また「position:relative」のレイヤーでは問題が出やすいので 「position:absolute;」としたレイヤーにのみ出力します。
Netscapeでレイヤーに対して何かを出力する時は 動作テストをきちんとやった方がいいでしょう。
■ 5.5 指定済みの背景をクリア出来ない(Opera6) |
レイヤーの背景色を指定(<JavaScript@KeyNavi.Net)を参照。
背景画像
Opera6では背景画像に「null(NS4)」や空文字、「url()(IE4+,NS6+,Opera6)」
などを指定しても設定済みの背景画像を無効に出来ません。
存在しない画像を背景に指定すると透明になります。
レイヤーの背景画像を指定(<JavaScript@KeyNavi.Net)
全く異なる方法として、 背景を表現するのに別のレイヤーを用意し下に配置することもできます。 そのレイヤーのvisibilityを「visible/hidden」など変更すれば 確実に透明に変更できます。
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
JavaScriptバグ&回避法リスト 目次
【数字キーでアクセス】
例 : 「2.1節」は「2」キーを2回連打して移動。「Q or P」で戻る。
「Ctrl-矢印」でフォーカス移動。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ホーム [0] JavaScriptバグ&回避法リスト:1.目次 [1] 5. レイヤー編 | ・サイトマップ [Shift-S] |
■キー割当表示 [Shift-H] | ─ KeyNavi Project 2003 ─ |