― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2011年8月30日(火) 19:43 
firefox6に下記HTMLコードのファイルをドロップすると
WEB開発ツールのWEBコンソール上で2回読み込みが発生しているようにみえるのですが
これは仕様でしょうか?

そもそもIMGタグにsrc属性が必須なのでおかしな質問なのですが
IMGタグを<IMG> 、<IMG src="A">などに変更した場合は2回読み込み
の動作をしません。
また<IMG src=" ">とすると3回読み込みが発生しているようにみえます。

firefox 3.6.20では<IMG="">のタグを使用しても
2回読み込みが発生していないようなので気になって質問をしました。

コード:
<HTML>
   <HEAD>
   </HEAD>
   <BODY>
      <IMG src="">
   </BODY>
</HTML>


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2011年9月02日(金) 08:17 
ご質問の動作が Firefox の仕様かどうかは、ぼくもわかりませんが、2 回読み込んでいるように見えるのは次のようなことではないでしょうか。

まず、[Web コンソール] の動作を確認しておきます。
ご質問の操作の結果、Firefox 6.0 の [Web コンソール] で表示されているのは [ネットワーク] の [ログ] 項目だと思います。ここは、Firefox が読み込みをおこなったファイルの URL が記録されるようです。

(A)― 基準となる動作の確認 (以下、: は全角にしてあります。)
ご例示の HTML ソースのうち、img タグに実在する画像の URL を次のように記述した、
<img src="file:///C:/sample/picture.jpg">
ごく順当な C:\sample\test.html を Firefox に読み込ませると、ロケーションバーには
file:///C:/sample/test.html
と表示され、Web コンソールには
file:///C:/sample/test.html
file:///C:/sample/picture.jpg
の 2 つが記録されます。
test.html 自身と、その中に指定されていて読み込めた URL を記録しているのがわかります。
コンテンツエリアには画像を含めて意図どおりにページが表示されます。

(B)― 対照実験
img タグに、構文として不適切な文字列を次のように記述して、
<img src="P">
(A)と同様に Firefox に読み込ませると、ロケーションバーには
file:///C:/sample/test.html
と表示され、Web コンソールには
file:///C:/sample/test.html
だけが記録されます。
test.html は読み込めたが、その中に記されてた <img src="P"> は実在しないため読み込めず、Web コンソールには読み込めた 1 つしか記録されていません。
コンテンツエリアに画像は表示されません。

で、本題はここからです。
ご質問のように、<img src=""> の指定をブランクにした条件では、Web コンソールに
file:///C:/sample/test.html
file:///C:/sample/test.html
のように元の HTML ファイルの URL が 2 つ記録されます。

結果的には、<img src=""> の対象として元の HTML ファイルを読み込もうとしているようにも見えます。
実際、test.html は存在するので二重に読み込めてはいて、その記録が Web コンソールに表れているのかもしれません。
コンテンツエリアの表示は、(B)の場合と同じで何も表示されません。test.html を二重に読み込んだことで不規則な表示なるようなことは確認できませんでした。
Internet Explorer など、手持ちの複数のブラウザでも試してみましたが、ブラウザの表示では顕著な差を見出せませんでした。

kuma さんがおっしゃっているように、src 属性の値をブランクにしたままというのは規格外の不適切な指定ということになります。
そのような場合の表示方法や読み込み動作まで HTML の規格で定義されているかどうかは知りませんが、もし処理をブラウザに任せているならブラウザごとに差があると考えられます。
HTML 文法の解釈に関するブラウザ本体の既定の動作なのか、バグなのか、それとも単に Firefox の [Web コンソール] の問題なのか、そのあたりも判断できません。

Firefox(Web コンソール?)の挙動には不可解さが残りますけど、ざっと見るかぎり実害はなさそうです。
ただ、src 属性は、かつてブラクラなどで盛んに悪用されたことがありますので(今もまだある?)、あまり変則的な使い方をすべきではないと思います。

ご質問への答えにはほど遠いですが、いちおうわかる範囲での検証と考察ってことで...。
見当違いなことを書いてたらすみません。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2011年9月04日(日) 11:27 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
偶然的通行人 さんが書きました:
ご質問のように、<img src=""> の指定をブランクにした条件では、Web コンソールに
file:///C:/sample/test.html
file:///C:/sample/test.html
のように元の HTML ファイルの URL が 2 つ記録されます。

結果的には、<img src=""> の対象として元の HTML ファイルを読み込もうとしているようにも見えます。
実際、test.html は存在するので二重に読み込めてはいて、その記録が Web コンソールに表れているのかもしれません。
コンテンツエリアの表示は、(B)の場合と同じで何も表示されません。test.html を二重に読み込んだことで不規則な表示なるようなことは確認できませんでした。


HTML5での規定がどうなってるか分かりませんが、空文字列のパスを相対パスとして処理しているように見えますね。<iframe>あたりだとネストが発生するのかも……


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2011年9月08日(木) 10:54 
ご回答ありがとうございます。

質問後に自分でも調べてみてのですが
下記ページで同様の件の記事がありました。

http://journal.mycom.co.jp/articles/2010/07/15/no-url-on-src-and-href-issue/index.html

上記URLのページは2010年の記事なのですがFirefox3.5では修正されていると
記載されていることからFirefox6ではまた修正前に戻っているというようにみえます。

偶然的通行人 さんが書きました:
Firefox(Web コンソール?)の挙動には不可解さが残りますけど、ざっと見るかぎり実害はなさそうです。
ただ、src 属性は、かつてブラクラなどで盛んに悪用されたことがありますので(今もまだある?)、あまり変則的な使い方をすべきではないと思います。


偶然的通行人さんのいわれているとおり、実害はなさそうなのと
Firefoxだけの問題ではないみたいので、この質問はこれで解決とします。
ご回答いただいたみなさまありがとうございました。


通報する
ページトップ
  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[30人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean