Red X in IE8 if PNG Used

Discussion in 'Internet Explorer' started by Eddie Kasper, May 30, 2009.

  1. Eddie Kasper

    Eddie Kasper Guest

    When I first installed IE8, I didn't have that problem. I don't recall
    installing anything since. So just a few days ago I have found various
    websites that are displaying the red X instead of the image. Here's one URL
    that has some so called broken images:
    http://desktop.google.com/plugins/c/sidebar/google.html?hl=en

    All the images in the above URL works fine in Firefox, Safari, etc but not
    in IE8 nor does it all work in IE7 Rendering mode.

    This is what I get in IE8 listing just a few so-called broken images in
    which I right-clicked and copied the image url:

    Analog Clock
    http://desktop.google.com/plugins/images/analog_clock_sm.gif

    Weather
    http://desktop.google.com/plugins/images/weatherm_sm.gif

    Now here's what I noticed. According to Firefox, Safari and other non-IE
    browsers, they all should be png files.

    So in IE8, the images that do not show up has the gif files but the what few
    images that do show up has the png file. It's almost behaving something
    like a bad IE8 png fix thats not working or whatever.

    Here's the icing on the cake....all the images renders just fine for the old
    IE6.

    Any suggestions what the cause is and how to fix it?

    Note: All testings were done with the above mentioned browsers on the same
    computer using Windows XP Prof.
     
    Eddie Kasper, May 30, 2009
    #1
    1. Advertisements

  2. [Thank you for beginning your own, new thread.]
    Well, this suggests that something you installed, uninstalled, or changed
    after you'd installed IE8 is the culprit.

    1. Does the behavior persist if you access the page in Compatibility Mode?

    2. Does the behavior persist if you start IE in No Add-ons mode? To start
    IE in No Add-ons mode:

    => Right-click on the blue IE desktop icon and select Start without
    Add-ons; or

    => Start | (All) Programs | Accessories | System Tools | Internet
    Explorer (No add-ons).

    Troubleshooting and Internet Explorer’s (No Add-ons) Mode:
    http://blogs.msdn.com/ie/archive/2006/07/25/678113.aspx

    3. Does the behavior persist if you Reset IE Advanced settings (RIES)?
    http://support.microsoft.com/kb/923737 <= Read before using!

    4. Does the behavior persist if you boot into Safe Mode with Networking?
    [Careful! Only remain in Safe Mode just long enough to test!]

    5a. What anti-virus application or security suite is installed, is your
    subscription current, and is it supported in IE8? What anti-spyware
    applications (other than Defender)? What third-party firewall (if any)?
    Were any of these applications running in the background when you installed
    IE8?

    5b. Has a Norton or McAfee application ever been installed on this machine
    (e.g., a free-trial version that came preinstalled when you bought it)?

    6. Do you have an available Restore Point which predates the install of IE8?
    <=Just asking for now!!
     
    PA Bear [MS MVP], May 30, 2009
    #2
    1. Advertisements

  3. Eddie Kasper

    VanguardLH Guest

    If you view the source for the web page, you would see .gif files were
    being presented for the images, not .png files.

    Web servers can see what web browser is connect to them. They can
    present different web pages based on the web browser used. Javascript
    can also detect which web browser is rendering a web page. It can
    change the web page so its code matches the abilities of the web
    browser. So that .png is seen for Firefox and .gif seen for Internet
    Explorer means the server or Javascript decided to use a different file
    to best match the abilities of the web browser being used.

    PNG was not supported in all versions of web browsers. Some web sites
    or pages will detect the version of the web browser and decide if it
    supports PNG format. Some just want backward compatibility with as many
    versions of a web browser as possible so they use the least common
    denominator approach by using something that all versions of the web
    browser can support.
     
    VanguardLH, May 30, 2009
    #3
  4. I can reproduce your symtoms here with IE8 on a Window XP SP3 machine. None
    of the .gif images are even downloading to the Temporary Internet Files
    folder when visiting the site you listed. That would explain why they are
    not rendered in the Browser, what I don't understand at present is why they
    will not download to the TIF folder.

    Also, while the paths point to .gif image files(example:
    analog_clock_sm.gif) they are actually .png images.

    For instance, I managed to look at the header in file "analog_clock_sm.gif"
    and it clearly states that it is PNG image file that has a .gif extension.
    So because all those .gif images are actually PNG images IE8 is not even
    downloading them to the TIF folder, much less rendering them in the Browser.

    Can't offer a reason for this in IE8 at present, unless it's some new
    obscure security function that has no UI interaction.

    Good luck,

    Donald Anadell
     
    Donald Anadell, May 30, 2009
    #4

  5. Donald,

    Use the Developer's Tools (F12) Image Report to see them too.
    Then they are cached. Then you can drag them to Notepad
    to see that they don't have a GIF header.

    Also, something strange happens if I use Fiddler's ImageView after
    doing Ctrl-F5 on that Image Report. Then I *can* see them all
    even though the Image Report is still reporting them "Broken Image".
    Fiddler must be more forgiving about what it deems "Broken Image".


    FYI

    Robert
    ---
     
    Robert Aldwinckle, May 31, 2009
    #5
  6. They show as Red X's here(broken images) when using the Developer's Tools
    "Image report".
    They are not cashed to the TIF here when using the "Image Report".
    I used another machine on my home network with IE6 installed to actually
    retrieve the images and take a look at there headers. All the .gif files
    are actually .png files, and IE8 here will simply not download them to the
    TIF folder.
    The broken .gif images all have "PNG" in the header.
    Ah! Fiddler will cause the images to be download to the TIF folder here.
    And like you I can view the images in Fiddler's ImageView tab. But neither
    IE8 nor the Developer tools ImageView with download those images to the TIF
    here. But even after Fiddler gets them downloaded to the TIF they still
    won't render in the Dev tool Image Report or the Browser. Strange indeed.

    Donald Anadell
     
    Donald Anadell, May 31, 2009
    #6
  7. Eddie Kasper

    Eddie Kasper Guest

    So is this a bug or what?

     
    Eddie Kasper, Jun 1, 2009
    #7
  8. Eddie Kasper

    VanguardLH Guest

    With all the discussion about the .gif named files actually being PNG
    files (and even Windows Explorer showing a <name>.gif file as PNG type
    in the Type column), I started to wonder if I renamed an image file just
    to change its extension to .gif.

    I have several photos that are .jpg files. I made a copy of one but
    renamed it so its extension was .gif (so, for example, clouds.jpg got
    copied and renamed to clouds.gif). I could use File -> Open to load the
    cloud.jpg file okay in IE8. However, when I tried to load the cloud.gif
    file, I got the red X in IE8. Obviously this file *is* available as it
    local on my hard disk and even in the same folder where is the cloud.jpg
    file.

    There is an option in each security zone in IE for the following:

    Open files based on content, not file extension
    Disable
    Enable

    This was currently set to enabled. This should mean that IE8 checks the
    header in the file to determine the file type rather than rely on the
    extension in the filename. For giggles, I set this to Disable (in the
    My Computer security zone since it was a local file; however, this
    requires you add the My Computer security zone to the display under the
    Security tab in Internet Options per KB article 315993). The cloud.gif
    file (which was actually a JPEG file) still would not open in IE8.

    I did this test in IE7. Same results. The cloud.jpg file displayed
    okay when opened in IE7. The cloud.gif file (just a renamed copy of
    cloud.jpg) would not open in IE7.

    The option mention above has to do with MIME enforcement in IE. See
    http://technet.microsoft.com/en-us/library/cc787872.aspx.

    So why would a web site deliberately use the WRONG extension? Why would
    they say it is a .gif file when it really is a .png file which requires
    a wholly different scheme to decode that filetype? Could be that IE7
    and IE8 don't do a proper MIME sniff to look inside the file to
    determine what really should be used to decode that file? If so, so
    what? The f*ckup is obviously by Google in misnaming the file.
    Complain to Google. THEY screwed up.

    I suspect MIME enforcement (by content instead of by name) to protect
    users from downloading executable files that pretended to be image
    files. If true, the objective was not to take care sloppy file naming
    by allowing finding out which image handler should be rendering the
    file. If Microsoft's intent was that this MIME sniffing be used to
    enhance security then it wasn't to provide a sloppy web browser that
    handles miscoded web pages that point at misnamed files. IE8 may have
    simply reinforced the intent of MIME sniffing and enforcement (i.e.,
    they tightened up what they had planned for this option to make IE8 less
    sloppy). I suppose you could submit a request for [de]enhancement to
    Microsoft to make their MIME enforcement more sloppy again. Without
    knowing the code used in IE7 and IE8 (where this option exists), it's
    hard to tell just WHEN it was planned for IE to use a different handler
    (based on the header inside the file) than the one implied (by the
    extension). It may not have been intended to do the redirect except
    when the MIME header (inside the file) showed it could be of an
    executable or possibly malicious filetype. The option's description
    makes it appear to be a global operation.

    With this option disabled, IE7 and IE8 won't do any MIME sniffing. When
    it enabled, it may look inside the file to see what MIME type is
    specified in the headers. If the extension doesn't match the MIME type
    then IE would use the handler for the actual MIME type (as specified
    inside the contents of the file). Sounds nice but that might've been
    meant as a security feature, not to cover up for misnamed files. I
    haven't found a list of MIME types (specified inside the file) on which
    this option specifically triggers.

    Without knowing what this option is really supposed to do (as opposed to
    guessing based solely on its one-line descriptive title), it's hard to
    know if IE8 was tightened to what was intended or if it broke this
    option. What can be said is that this option doesn't do in IE8 what it
    did in IE7. I'd say to claim this is a bug until Microsoft decides to
    clarify in detail just what this option is supposed to do (i.e.,
    security only feature or provide sloppy coverage for misnamed files in a
    web site).
     
    VanguardLH, Jun 1, 2009
    #8
  9. Hard to say for sure Eddie.

    There was bug report filed that closely resembles the symtoms you are
    seeing:
    https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=389191
    (Note you'll have to register to vew the site above)

    IMHO I'm not prepared to call it a bug in IE8 since Google is serving up PNG
    images at that site with the wrong file extension(.gif instead of .png), and
    using the wrong MIME type for PNG images(Content-Type: image/gif instead of
    Content-Type: image/png).

    IE6, Firefox, and Opera seem to be more forgiving of this than IE8 and
    Avant(which uses the IE Rendering engine) are.

    So if Google cleaned up that site by using the correct file extension and
    MIME Type for those PNG images we most likely would not be having this
    discussion.

    Good luck,

    Donald Anadell
     
    Donald Anadell, Jun 1, 2009
    #9
  10. Eddie wrote on Sun, 31 May 2009 18:07:08 -0500:
    I'd say no. It's a security feature - IE is determining via "MIME sniffing"
    that the file being served is not, as Google suggests, an image/gif file but
    is something else, so it immediately ignores it; which also explains why it
    doesn't get as far as being saved in the TIF either. While it might seem
    annoying, this protection is there to prevent malicious code being treated
    as a benign binary type. Google really need to fix those images to have the
    correct extension, or fix their MIME header serving so it's based on actual
    content rather than the file extension.

    Dan
     
    Daniel Crichton, Jun 1, 2009
    #10
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.