前置き・・・
こんな記事を立てていると、まだIE6使ってんのかってあの方からどやされそうだが・・・
HTAを使う場合は内部的にIE6っぽいので仕方ない。
あと、ユーザビリティというものを考えると、たった20年程度の前に一世風靡したようなブラウザでは一応見れるようにしておくというのが筋だとは思うんだが、最近のウェブサイトはどいつもこいつもそういう考えが無いな。特にyoutubeが顕著なわけだが・・・(数年前の最新ブラウザでも見れなくしやがるね、あいつらは)
っつーか、多分どっかのサイトで、まとめてるサイトもあると思うんだけど。検索してもなかなか出なかったので自分で忘れないようにメモ。
IE6では、name属性の使用が想定されているようなタグにしか、name属性が設定できないようだ?
これがIE6独自のものなのか、HTMLの規格なのかは知らないけど、
Firefox52esrでは、確認した限り、色んなタグにもname属性が有効だった。
■IE6でname属性が効くタグ
aタグ inputタグ buttonタグ ほか未確認
■IE6でname属性が効かないタグ
pタグ divタグ h2タグ ほか未確認
リストを充足させる必要は無いかな。とりあえずname属性が効かないのがあるっていうことだけ覚えておけば。
確認方法は、getElementsByNameで取得して取得できればname属性が効いてるという風に確認している。
IE6だとgetElementsByClassNameも使えないので、HTMLエレメント複数取得で使えるのは、残りはgetElementsByTagNameなわけか・・・
→ ちょっと実験してみたが、オリジナルのタグを作ってgetElementsByTagNameを使った場合、Firefoxなら取得できるが、IE6は取得できない。
特定の要素一帯を切り抜いて整列させたい場合なんかだと、通常は使ってないようなタグで各々の箇所を囲ってからgetElementsByTagNameを使うようになるかね・・・
スマートじゃないけど、IE6だから仕方ない。
でも、それだったらaタグで同一のnameを付けても同じか・・・
ブロックレベル要素を囲いたかったらaタグはマズイんじゃないか?そしたらgetElementsByTagNameの出番か?
それとも、aタグ自体をスタイル指定でブロックレベルにしてしまえば、pタグとかを囲っても平気か?
まあ、個人使用のhtaスクリプトで使用すると思うので、動けば何でもいいが、Firefoxでも一応動いて欲しいから要動作確認だ・・・
さすがに、インライン要素でブロック要素を囲うのはまずいとは思うが・・・まあ動けば・・・
あと、ページ名#aaaaみたいなジャンプ方法は、aタグのname属性に設定した場合にしか効かないということを知った。
( p name="aaaa"にしても ie6_html_name.html#aaaa で移動することが出来ない 現在のブラウザでも同様 )
近年ではaタグのname属性は非推奨になり、かわりにid属性にすることで、aタグ以外でも使えるようになる、というのが出てきたけど・・・
んなことしたらnameとidの両方書かなきゃ動かないマシンが出てくるし面倒くさいから無視したほうがいいかな。
あっ、そもそもstanchのページはHTML4のサイトだったから関係なかった・・・
ChatGPT3さんに聞いた
・・・ということのようだ。調べる手間が無くなった。
nameタグって言っちゃったけど、ちゃんとname属性って解釈してくれた。
IE6で対応していないJavaScript関数もメモ
document.getElementByClassName()
ノード.firstElementChild() firstChild()ならok
ノード.textContent()
ほか随時追加
IE6で対応していないスタイルシートもメモ max-width ・・・ これに対応していないのでレスポンシブ?というのが面倒臭いらしい。
下に行くほど新しいコメントです