重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ファイル名に#を含む画像ファイルを、imgタグで以下のように指定した場合、IE11ではXマークとなり、表示できません。
WinXP時代のIE8では正しく表示できました。
#は、ファイル名の禁則文字ではありませんが、HTMLの特殊文字になるのでしょうか?

<html>
<body>
<p align="center"><img src="Desert#1.jpg"></p>
</body>
</html>

A 回答 (3件)

>最近、Windows7へ上げ、同じHTMLをIE11で開いたところ、#つきの画像が表示できなくなった次第です。


 だとしたら、その動作が正常です。
 #は本来ブラウザがサーバーに要求してはならない文字です。

よって、URLエンコードしなければなりません。
<p align="center"><img src="Desert%231.jpg"></p>
    • good
    • 0
この回答へのお礼

再度の回答、ありがとうございます。

IEが、HTMLの仕様に厳格になったということでしょうか。

URLエンコードし記述すれば、希望の動作をすることを確認しました。
HTML生成プログラムを改修するようにします。

お礼日時:2014/04/21 12:54

"hoge.html" がもしも、こんなだったら?



<a name=title></a>
<a href=hoge.html#menu>メニューへ</a>
長めのHTML表示(タイトル部分)大き目の絵でも張ってください。

<a name=menu></a>
<a href=hoge.html#title>タイトルへ</a>
長めのHTML表示(メニュー部分)大き目の絵でも張ってください。

という書式が出来ます。
しかし、#以降はもともとサーバーに送っていないので、
ブラウザは、同一URLなので、リクエストすることなく、
いきなり、開いているページ内の該当場所にジャンプします。

っていう書式で、HTMLでは使用されているので、
ファイル名に使うには適切ではなかったりします。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

ページ内のリンクでは、#を使用することは知っておりましたが、サーバには送信していないという仕組みまでは理解しておりませんでした。

お礼日時:2014/04/21 12:56

#は2.1.2 部分識別子(

http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )です。
 #以降はサーバーには送られません。ブラウザが保持して、該当のファイルが届いてからid,name属性を探します。
>WinXP時代のIE8では正しく表示できました。
 それはないはずです。ローカルでは、file:///--ファイラーを使用しますが、少なくともHTTPプロトコルなどネットワーク経由では以前からダメだったはずです。
    • good
    • 0
この回答へのお礼

早々にご回答頂き、ありがとうございます。

>> WinXP時代のIE8では正しく表示できました。
> それはないはずです。ローカルでは、file:///--ファイラーを使用しますが、少なくともHTTPプロトコルなどネットワーク経由では以前からダメだったはずです。

説明不足でしたが、今回はWebサーバは使用しておりません。
ローカルPC内の画像を表示するHTMLを、プログラムで自動生成しております。
プログラムは、VB6で作成し、WinXPで稼働しておりました。

最近、Windows7へ上げ、同じHTMLをIE11で開いたところ、#つきの画像が表示できなくなった次第です。

お礼日時:2014/04/21 09:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!