Safari Making Me look Bad to Clients

evildan

Super Moderator
First let me say, I love Safari. I have been using it since beta and didn't look back.

For the most part I've been using it 100% of the time. However, I've recently been forced to unearth -- ACK! -- IE Explorer because of a reoccurring issue in Safari.

Safari will not clear cache and it's starting to make me look bad to my clients.

I am constantly revising web pages, general tweaks here and there. And after those tweaks are done, I have to show my clients that they are done. Some of them are using Safari, but most aren't (as they are on PC's). But it's getting to the point that my first question to clients after they ask me why their changes haven't been done, is do you use Safari?

I test pages on a number of browsers and platforms and I've never seen a browser hold cache like Safari does. I've gone to the extent that I leave the site I originally try to view, click on "empty cache", quit Safari, load another web page, THEN finally attempt to view the cached page. Very often it still holds the cache. Even after several attempts to do so. I've also seen pages hold for days after several revisions have been completed to the page it has in cache.

I'm not bashing Safari, in fact, as I said above, I'm really happy with it overall. I just cannot use it to show clients the websites I've developed for them because it insists on holding the page in cache.

Looking ahead, I'm counting on Safari to resolve this issue so I can once again rely on it as my sole browser of choice.

Empty cache should mean empty cache and it's clear that, for the moment it isn't clearing everything from memory.

Apart from "Reseting" Safari, is there anything else I can do?
 
Okay I downloaded Safari Enhancer and was able to disable cache.

Which tells me two things...

1) This is an issue with other people
2) Apple really cannot expect people to download helper applications like this to solve these types of issues. These enhancements should be included in Safari 2.0.
 
You know what, that didn't even work!

Safari Enhancer disables the Safari Cache and for some reason it still displays the incorrect version of some pages in memory.

There must be some system image cache that Safari uses to display commonly accessed images because I am currently looking at an a version of an image several iterations old.

Any thoughts on this?
 
Thanks bob, I've done that too.

And, for me, it works. But I can't see telling my clients to do that. Considering I'm the one who sold them on the browser to begin with, my clout with them is under suspicion.

The most I can hope for is for them to use another browser to prevent these pages from displaying cached versions. At least in other browsers, clearing the cache means clearing the cache.

My clients are up in arms because they think the changes have not been completed, I am currently the only one who knows they have been done, because I personally did them and uploaded them to the dev box.

And yes, I've cleared the Dev box's cache, it's set to not cache for this very reason.

Kind of a bummer, but nothing says I can't wait for a fix.
 
Is it little tweaks or big changes? For example, the apple site changes pretty regularly and I (think I) get the change right away.

I reset my prefs on the board and they showed up right away. I hope I don't have to go back to IE, it is unpleasant to look at after months on safari. ;)
 
Evil

Try this;

First, go to the Safari menu and empty the cache

Now open your home folder.
Open your library folder.
Open your Caches folder.
Get Info on the Safari Folder.
Expand the video for the Ownership and Permissions section.
For all of the users, select no access.
Close the info window
Close your finder windows.
Done.


If you simply remove the folder, I think Safari creates a new one. By leaving it there, but not allowing it to be written to, Safari can't use it for anything. Just be sure to empty the cache first, else it'll keep whatever in there.
 
I know Safari aggressively caches, but I've never had the problem you're describing. In fact, for an app that's supposed to be a cache "junky", i can't even navigate back more than a couple of steps or goto a page accessed a few minutes earlier (and then closed) without it needing to get the data from the server again..
 
I agree, Safari's cache is to aggressive. I keep Firebird or Mozilla open to check for changes and updates. I really hope apple fixes this issue soon. I believe it to be a big one.
 
I've tried to simply refresh the pages... but that doesn't work. I keep attempting to do a shift refresh, as in IE this key combination forces the refresh.

The refresh doesn't appear to do anything in the cases that I experience.

pds, I have the problem more often with small tweaks. Obviously large file-size or name changes force the browser to consider it to be different from the cached version of the file and almost always result in the browser reading the new file and not the cached file.

However, I will note that I pay pretty close attention to this and one thing I've noticed is that when Safari decides to cache a file, it tends to trust the cached file almost to the point of annoyance.

A good example of that is a work-around I learned when facing this issue (on a smaller scale) in other browsers.

Sometimes, if it's an image that's being cached, I will call JUST the image by using the path to image in my browser. Then I'll refresh (or shit + refresh) and that will almost always produce the new version of the image.

Then I simply return to the page where the image was incorrectly displayed, refresh it, and that usually does the trick.

However this trick does not appear to work in Safari. I actually get the new image to display, however, when I return to the page, it still refuses to update the image with the proper file.

These cached issues seem to extend themselves for days. Very often making it impossible to verify changes to an html page.

I have not tried what you suggested bob, I'll do so and report back my findings.

Again, very happy with Safari, but this cache is killing me.
 
Hmm, very strange. I don't have these problems with Safari here. I have done a fair bit of developing with Safari and often view the same page over and over whilst making subtle changes. It always seems to keep up - even when the changes are to linked CSS files or even images referenced from within the CSS.

I have never (ever) had to clear the cache.

What setup are you using for your server etc...?

Is there anything else that may be non-standard about your system?

Are you behind any proxies etc.?

I repeat, hmmmmm - very strange.
 
no issues goynang? WOW. I have to clear the cache all the time. With any other browser you can tell it to look for new versions on page load and it works well. With safari, i get cached versions all the tim too. Just like evildan
 
See if just refreshing the pages gets the new page up.

Works for me ... change page ... load: old cached version. Damn, reload: new version, OK. Don't see the problem.

Relaoding is enough, emptying or resetting isn't necessary.
 
Cat,

The problem seems to not exist all the time. Most of the time refreshing the page solves the problem. However, as my past posts have indicated, when refreshing doesn't work, and the images are held in cache, Safari doesn't actually completely empty cache.

One theory is that it uses the cache to speed up the load-time on most sites. Heavy dependency on cache increases the chances that you're not viewing the correctly updated page.

This is most apparent with minor changes to the page. But sometimes minor changes, such as say the trailing ; in a PHP script, significantly effect the page outcome. of the requested page. (the php is just an example, not something that has actually happened to me).
 
You can try this:
Debug->Show Chaches Window-> check "disable WebCore Caches".

Should work, AFAIK. Let me know.
 
I am a little bt curious about this and I was wondering if your web server is setting an improper expiry for the page or image in question. To test this try something like this from the terminal

Code:
lynx -mime_header [url]http://localhost/manual/[/url]

Of course you will need to use the right URL for you. Then at the top of the junk that is printed out look at the header info In this case I got the following:

HTTP/1.1 200 OK
Date: Fri, 05 Sep 2003 14:33:46 GMT
Server: Apache/1.3.27 (Darwin)
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Thu, 20 Jun 2002 01:24:01 GMT
ETag: "260af-2485-3d112eb1;3e26258b"
Accept-Ranges: bytes
Content-Length: 9349
Connection: close
Content-Type: text/html
Content-Language: en
Expires: Fri, 05 Sep 2003 14:33:46 GMT

The important line is the one that says when the page expires which in this case is when it was generated. But I have seen problems where the clocks are skewed and a machine generates an expiry line intending for the page to instantly expire but because the clock is fast it won't really expire for another 5 minutes.

Also it is common in a deployed environment to set a long expiry on any images so that they will stay in the user's cache and not have to be constantly refetched. If you are running off of a production server instead of a development one it may well be instructing Safari to not reload the images.

As to why this is not a problem with other Browsers well a quick google search says that OmniWeb only does memory caching and expires everything in 5 minutes no matter what. So if your debug-code-reload cycle is longer than that it will always grab a new page. I would not be so surprised if other browsers had similar "optimizations".

Now if I am sounding like a Safari apologist I'm not it is just that with the info discussed above I can't even tell if Safari is really at fault. Or what the actual bug is - is Safari improperly caching things or is it actually doing just what it is told to and following the standard (unlike everything else).

-Eric
 
Ya I have the same problem. I build a lot of flash sites and use external text files to load variables into movies. It never refreshes to the updated version without emptying cache and hitting refresh and I also kill my history. 99% of the time that works. Most of these text files are updated by my clients through blogger.com and that refresh problem is a whole nother story...arghhh..

Another glitch with history that drives me nuts is some servers are case sensitive for address bar and say you entered in http://www.mydomain.com/home.html and hit enter but the page was really capitalized like http://www.mydomain.com/HOME.HTML - if you go and type that again with capitals, safari will automatically change it back to the lowercase version before it calls for teh page because of a history thing i guess. it wont work till i kill history and cache....nutty.
 
Back
Top