2009-07-04 4 views

答えて

3

として機能してFirebugで簡単に見ては、はい確かに、DOMとドキュメントオブジェクトがあることが明らかになりました。たとえば、ロケーションバーのjavascript:alert(document.title)には「logo.gif(GIF Image、276x110ピクセル)」と表示されます。これは、ブラウザで次のドキュメントを構築した結果:

<html> 
    <head> 
     <title>logo.gif (GIF Image, 276x110 pixels)</title> 
    </head> 
    <body> 
     <img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="http://www.google.com/intl/en_ALL/images/logo.gif"/> 
    </body> 
</html> 

これは(タイトルのためにわずかに異なる文字列で)Chromeでも真です。 HTMLはIEで

<html> 
    <body style="margin: 0px;"> 
     <img style="-webkit-user-select: none" src="http://www.google.com/intl/en_ALL/images/logo.gif"> 
    </body> 
</html> 

あり、document.titleが空であることを表示されますが、javascript:alert(document.body.clientWidth)は、ブラウザのクライアント領域に等しい結果を与えるので、DOMはそこにもありますように見えます。 HTMLは次のとおりです。

<html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <img src="http://www.google.com/intl/en_ALL/images/logo.gif" complete="complete"/> 
    </body> 
</html> 
+0

これは実装によって大きく異なります。内部的には、一部のブラウザは画像を表示する偽のHTMLページを作成しますが、それに頼ることはできません。 –

+0

"some"は "すべて"を意味する...(OK、私はPrestoをテストしていませんが、ここにGecko、WebKit、Tridentがあり、かなり安全です) – Domenic

+0

しかし、それに頼るべきではありません。これは、後のバージョンで変更することができる簡単なものです。 – Domenic

0

なし...ブラウザは、単に画像ビューア

+0

しかし、 'alert()'は動作します... – Joe

+0

duh ... DOMがあるとどうしたらいいですか? –

1

ブラウザによって異なります。たとえば、firefoxでそのURLに行き、DOM Inspectorを開くと、html,bodyimgというタグが表示されます。また、ロケーションバーにjavascript:alert(document)と入力すると、[object ImageDocument]にアラートが表示されます。 IE8は同様の動作を示します(ただし、警告は[object])。

関連する問題