Visual Studio 2008 開発 Web サーバーを使用して、多くの JavaScript と画像を含む ASP.NET Web サイトをデバッグしています。
多くのスクリプトの 1 つは<img>
、オンザフライでタグを作成し、適切なsrc
属性を提供しようとします。ただし、Firefox、IE、Opera では画像は読み込まれず、代わりに代替テキストが表示されます。
さらに掘り下げて、画像リンクの 1 つをコピーして Firefox のアドレス バーに貼り付けると、ライブ ヘッダー ウィンドウに次のように表示されます。
GET /images/nav/zoomin.png HTTP/1.1
Host: localhost:7777
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
HTTP/1.x 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Wed, 25 Feb 2009 16:59:23 GMT
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: application/octet-stream
Content-Length: 292
Connection: Close
問題のある部分は、タグContent-Type
内に通常表示される代わりに、何らかの方法で「application/octet-stream」に設定されたヘッダーであり、ダウンロード操作を強制します。<img>
問題があるのは javascript ではないと確信しています。問題なく動作する別のアプリケーションから逐語的にコピーされたコードであるためです。
どこかで何かを誤って設定した可能性があると思います。しかし、私は間違っているかもしれないので、HTML タグを作成するコードは次のとおりです。
var zin = document.createElement("img");
zin = $Img.Png(zin, Settings.ImageHost + "zoomin.png");
zin.style.top = (this.y + zoomPaddingY) + "px";
zin.style.left = (this.x + zoomPaddingX) + "px";
zin.style.position = "absolute";
$Img.Swap(zin, Settings.ImageHost + "zoomin.png", Settings.ImageHost + "zoomin_active.png");
zin.alt = zin.title = "zoom in";
zin.style.cursor = this.hand;
$Evt.addListener(zin, "click", this.zoomIn, this, true);
// long long scroll ...
controlDiv.appendChild(zin);
この$Img.Png
部分は他の PNG 画像では正常に機能しているため、問題の原因ではありません。
私は何を間違えましたか?!?
助けてくれてありがとう!
ここはもう真夜中です...そして私はまだこの小さなアプリに取り組んでいます...