Forum Moderators: open

Message Too Old, No Replies

Internet Explorer not Caching Graphics

         

peterinwa

1:07 am on Jan 29, 2006 (gmt 0)

10+ Year Member



I use a website frequently and each time I change pages the graphics (which are common to all pages) have to reload if I use IE. Doesn't happen with Firefox or Netscape.

I also don't think it happened on my kid's PC when I was visiting, and they use IE too.

I can't find any setting except the amount of disk space available for temp files, and that doesn't affect it.

I just did another test, jumping back and forth (not with the Back arrow) between the same two pages. Each time I have to wait...

(43 items remaining)
(42 items remaining)
...

Thanks, Peter

jdMorgan

3:19 am on Jan 29, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



What are your cache settings for IE? As in Control Panel->Internet Options->Temporary Internet Files->Settings->Check for newer versions of stored pages?

This should be set to "Automatically" for normal use.

Anything above a 16MB cache setting should work, unless those images are huge.

There's also the possibility that your IE temp files are messed up. So if the above doesn't help you can try the following procedure:

  • In Control Panel->Internet Options->Temporary Internet Files, flush the Temp files.
  • Log off as current user.
  • Log in as Admin. (If your 'working account' is already Admin, then you'll need to create a second account with Admin priveleges to continue)
  • Navigate to the original user directory c:\Documents and Settings\<username>.
  • Drill down from there to c:\Documents and Settings\<username>\Local Settings\Temporary Internet Files\Content.IE5
  • In this directory, delete the file index.dat

    Notes:
    The path starting at <username>\Local Settings on down is usually 'hidden' unless you set your Windows file view preferences to show hidden files.
    The index.dat file cannot be deleted by using the currently-logged-in-account. That's why you have to use (or create) a second account with admin priveleges. Actually, you can't even find the Content.IE5 directory for the currently-logged-in account -- it's hidden by Windows to prevent you from crashing the machine by deleting it while it's being used.
    This index.dat file eventually accumulates enormous bloat. I don't know why Windows doesn't clean it up or 'repair' it once in a while. However, if you delete it, then Explorer will re-create clean it the next time you log in as that user, and you will often find that Windows runs a lot faster if this file is kept from getting too large. And cleaning it up often fixes these 'weird' problems with IE.

    Jim

  • peterinwa

    6:13 am on Jan 29, 2006 (gmt 0)

    10+ Year Member



    Hopefully all the time you put into your reply will help someone else... the first two paras fixed it right away for me.

    I had checked:

    - Check for newer versions of stored pages:

    -- Every visit to the page

    It seemed logical to me so that when you look at a page that updates frequently you always see the latest version. Automatically is working great!

    BTW, I've always had problems getting help via the Help files. Even now that I understand this better I can't find the explanations for the options to check.

    Thanks so much!

    Peter

    peterinwa

    8:14 pm on Jan 30, 2006 (gmt 0)

    10+ Year Member



    I thought I'd post back that I figured out why I set it to check with every page as I had years ago.

    It's because I check the statistics for my website many times a day and now I see that with it set to "automatic" when I pull the page from my favorites I get the cached copy with outdated stats.

    Just for anyone else reading this.

    Peter

    jdMorgan

    9:18 pm on Jan 30, 2006 (gmt 0)

    WebmasterWorld Senior Member 10+ Year Member



    IE's terminology for cache control has been so dumbed-down for "Joe User" that it is hardly technically-accurate any more. That's why it is confusing and counter-intuitive.

    The server needs to be set up to return a proper cache-control and expires headers with your stats file -- It's not doing so now, apparently.

    How you do this varies dependng on what server you're on. It's farily simple on Apache.

    In the .htaccess file in your 'stats' directory, add:


    # Default - Expire everything 1 day from last access
    ExpiresActive On
    ExpiresDefault "A86400"
    # Apply a customized Cache-Control header to frequently-updated files
    # Expire log and stats files after one second, mark as must-revalidate
    <FilesMatch "\_log$¦^stats\.html$">
    ExpiresDefault "A1"
    Header unset Cache-Control:
    Header append Cache-Control: "no-cache, must-revalidate"
    </FilesMatch>

    Modify the filename patterns in <FilesMatch> to suit, and change the broken pipe "¦" character to a solid pipe before use; Posting here modifies that character.

    Of course, you may want to look into whether your server sets cache-control and expiry headers on *all* of your files, both for bandwidth conservation, and for 'user experience' -- i.e. not getting 'stale' pages, but not having to reload every time, either.

    You can use the Server Headers Checker in the WebmasterWorld Control Panel to examine your current headers.

    I'll defer to someone else to explain the process for IIS -- since I don't know.

    Also, you can always force IE to fetch a new copy by holding down the "Control" key while you click "Refresh". Same for Mozilla browsers, but hold down "Shift" and click "Reload" instead.

    Jim