“var is” はまだ使える。
- Date
- 2006-03-23 (Thu)
- Category
- javascript
slashdot のIE7はWindows Explorerと分離へを読んで、この間 var isなんてエントリを書いたばっかりだけど、使えなくなんのかよ!と焦った。
Mozilla Firefox Preview Release (Greenlane) リリースノート
- Internet Explorer との互換性向上
- サイト互換性のため、判別を含まない document.all サポートが追加されました。また、キーボードアクセラレータの互換性を改善したことで、Internet Explorer ユーザがよりスムーズに移行できるようになりました。
しかりよく見たらリリースノート古いしさ。焦ってググリまくったら、すご〜い古い話題だと気がついた。全ての正解は以下。
【DOCTYPE指定のXHTML文書】
document.all = undefine
document.layers = undefine
if(document.all) = false
if(document.layers) = false
【DOCTYPE指定なしHTML文書=quirks モード】
document.all = [object HTML document.all class]
document.layers = undefine
if(document.all) = false
if(document.all('IDname')) = true
if(document.layers) = false
document.all("idname") = [object HTML DivElement]
document.all("idname").offsetTop = 正しい値
document.allを使用すると、以下の警告がJavaScriptコンソールに出ます。
→Warning: Non-standard document.all property was used.
Use W3C standard document.getElementById() instead.
Mozのdocument.allサポート経由で見つけたMozilla が何と doument.all をサポートした!!
つまり standard 準拠モードなら var is は使える、と言うことですね。
検証するには、例えば
以下の bookmarklet をこのページで使うと、(IE 以外では)エラーが出ます。
でも google のトップページに行って
document.all('1a')
document.getElementById('1a')
同じダイアログが現れたのではないでしょうか。ちょっと焦ったけど、ウラ取りが大事な世界に僕らは居るんだなと感じた今日この頃でした。
Comment:0
Trackback:0
- TrackBack URL for this entry
- http://blogs.grf-design.com/mt/mt-tb.cgi/156
- Listed below are links to weblogs that reference
- “var is” はまだ使える。 from The Croton