Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

osCommerce page refresh in IE7


SenseiJack

Recommended Posts

Hi all,

 

This is my first post, and I've been searching the forums for over an hour for an answer to this question... with no luck. So please excuse me if this has been answered before.

 

I'm designing a site for a small business and this is the first time I've ever used osCommerce. So far it's been pretty straightforward, but I've run into one issue that only occurs in IE7. Whenever a customer clicks on any link in the catalog; the entire page reloads and flickers; rather than just the new areas loading (such as catagory or item page). Firefox and Opera don't have this problem. It's not related to the old IE6/7 "flicker bug" as I've tried setting the temporary Internet files setting to "automatically" which doesn't help.

 

I tried a fresh install with a default installation of osC and noticed the same problem, only it's less noticeable because the default header is so minimal.

 

Does anyone know of a solution or workaround?

 

Thanks in advance

Link to comment
Share on other sites

do you have some specific IE workarounds? Do you see it happening with the demo store?

 

http://demo.oscommerce.com

 

Nope, no workarounds, and I can see it occurring in the demo store as well, although it's barely noticeable because the default osC header has only a small graphic and loads very quickly. On a site with more header graphics it's very noticeable.

Link to comment
Share on other sites

the part I don't understand is that flickering thing. Have you checked your system for spyware? Also clear the browser's cache (and check the cache size allocated) and try it again.

 

Also do you see it with my store? I have tested the generated headers, you should see 304's coming back when you click the same link multiple times (not refresh). The browsers including IE7 respect these headers. Using defaults for the browser you should see especially plain images being cached.

 

Also you could try it directly with an image link to see if it's a browser's issue like:

http://www.oscommerce.com/images/oscommerce.gif

Link to comment
Share on other sites

the part I don't understand is that flickering thing. Have you checked your system for spyware? Also clear the browser's cache (and check the cache size allocated) and try it again.

 

Also do you see it with my store? I have tested the generated headers, you should see 304's coming back when you click the same link multiple times (not refresh). The browsers including IE7 respect these headers. Using defaults for the browser you should see especially plain images being cached.

 

Also you could try it directly with an image link to see if it's a browser's issue like:

http://www.oscommerce.com/images/oscommerce.gif

 

Perhaps "flicker" isn't the right term, refresh is probably more accurate. It occurs on your site and several other osC sites that I've looked at. If you click any link the entire page reloads in the browser, on some sites this makes it look like the header is flickering, on others it takes longer and it's more obvious that IE7 is refreshing the entire page. Firefox and opera don't refresh everything, only the new information.

Link to comment
Share on other sites

Perhaps "flicker" isn't the right term, refresh is probably more accurate. It occurs on your site and several other osC sites that I've looked at. If you click any link the entire page reloads in the browser, on some sites this makes it look like the header is flickering, on others it takes longer and it's more obvious that IE7 is refreshing the entire page. Firefox and opera don't refresh everything, only the new information.

ok, so that happens also when you have the "Check for newer pages" settings to "Every time you start IE"

Link to comment
Share on other sites

ok, so that happens also when you have the "Check for newer pages" settings to "Every time you start IE"

 

Yes, it happens regardless of which settings I choose (I've tried all of them). I've started reviewing the osC php code to see if the issue is in the way the navigation is coded. I've written custom a CMS (in php) for my employer and that site doesn't exhibit this behavior in IE7, so it may be a combination of the way osC is coded and how IE7 is interpreting the osC code (rather than just being an IE7 issue).

Link to comment
Share on other sites

Yes, it happens regardless of which settings I choose (I've tried all of them). I've started reviewing the osC php code to see if the issue is in the way the navigation is coded. I've written custom a CMS (in php) for my employer and that site doesn't exhibit this behavior in IE7, so it may be a combination of the way osC is coded and how IE7 is interpreting the osC code (rather than just being an IE7 issue).

you should try from a different system. The last time I played around with IE7 and osc I did not notice anything like the refresh you mentioned.

Link to comment
Share on other sites

I have the same problem with IE6. Doesn't seem to happen with any other browser though.

IE6 is out of the question because I have it here and the cache runs properly. So start checking your pc.

Link to comment
Share on other sites

IE6 is out of the question because I have it here and the cache runs properly. So start checking your pc.

 

 

I went ahead and tried with a total of six different machines, at work, home, and even the library. Four of the machines were IE7 and two IE6 (SP2). All of them behaved the same, that is they all reloaded every image and element on the page every time a link was clicked.

 

PHP is server side, so I understand that the page is requested and parsed each time you follow a link and request or submit info but redrawing everything; even elements that haven't' changed seems to be the way IE7 is dealing with osC (and CRE Loaded, and Zen cart).

 

I may just have to add a lot of AJAX to the osC site that I'm setting up to get around this (and improve performance). when that's finished I'll go ahead and contribute it (unless someone else discovers an easier solution.)

Link to comment
Share on other sites

I went ahead and tried with a total of six different machines, at work, home, and even the library. Four of the machines were IE7 and two IE6 (SP2). All of them behaved the same, that is they all reloaded every image and element on the page every time a link was clicked.

 

PHP is server side, so I understand that the page is requested and parsed each time you follow a link and request or submit info but redrawing everything; even elements that haven't' changed seems to be the way IE7 is dealing with osC (and CRE Loaded, and Zen cart).

 

I may just have to add a lot of AJAX to the osC site that I'm setting up to get around this (and improve performance). when that's finished I'll go ahead and contribute it (unless someone else discovers an easier solution.)

Well ok if you say IE6 you can forget it. Because not only I see it cached here but I can see the headers coming back according to the rfc specs.

Link to comment
Share on other sites

The easiest solution would be for IE to just go away. But that ain't gonna happen anytime soon.

 

I'm seeing the same problem on the demo store - the 'osCommerce' logo keeps getting refreshed everytime I click on any of the categories. It's quick, but its there. The same problem doesn't seem to happen in any other browser on multiple platforms.

 

Could be just one of the many inherent bugs in IE and until it tries to become somewhat compliant, its a pain trying to code for that browser at times.

 

:wacko:

 

Or, it could be a preference setting in the browser. But I haven't found a setting that disables the refresh/flickering problem in Explorer.

 

There's probably some sort of fix/workaround for this problem, but i'm tired of chasing down IE workarounds...

Link to comment
Share on other sites

The plain images by default are cached by the browser. Now you can adjust the settings and retrieve them everytime. The page content itself as well as thumnnails that are processed via php can be controlled by the php code generating appropriate headers for the browser to cache.

 

You see this is not a visual thing but what really happens in the background. So with my store if I check the headers for the page I see:

 

First time (uncached)

----------------------------------------------------------------------------

HTTP/1.x 200 OK

Date: Sun, 29 Apr 2007 15:22:02 GMT

Server: Apache

Pragma: private

Last-Modified: Sun, 29 Apr 2007 15:22:02 GMT

Expires: Mon, 30 Apr 2007 15:22:02 GMT

Etag: "828e0013b8f3bc1bb22b4f57172b019d"

Cache-Control: must-revalidate, max-age=0, s-maxage=0, private

Content-Length: 66711

Connection: close

Content-Type: text/html

-----------------------------------------------------------------------------

 

Second time (Cached)

 

HTTP/1.x 304 OK

Date: Sun, 29 Apr 2007 15:22:18 GMT

Server: Apache

Pragma: private

Expires: Mon, 30 Apr 2007 15:22:02 GMT

Cache-Control: must-revalidate, max-age=0, s-maxage=0, private

Content-Length: 0

Connection: close

Content-Type: text/html

 

For the plain images is up to the browser what to do but if you check the cacheability for instance: (and in general for any image)

 

http://demo.oscommerce.com/images/oscommerce.gif

Expires -

Cache-Control -

Last-Modified 56 weeks 5 days ago (Mon, 27 Mar 2006 17:49:35 GMT) validated

ETag "64933291364703869"

Content-Length 3.6K (3656)

Server lighttpd/1.4.15

 

This object doesn't have any explicit freshness information set, so a cache may use Last-Modified to determine how fresh it is with an adaptive TTL (at this time, it could be, depending on the adaptive percent used, considered fresh for: 11 weeks 2 days (20%), 28 weeks 2 days (50%), 56 weeks 5 days (100%)). It can be validated with Last-Modified.

 

So the browser will not download again this image by default on subsequent clicks unless you either setting it up to do so, or you have another filter in place.

 

you see the thing is what is mentioned above that the images are downloaded again doesn't match what I see here happening with the headers. Including with my store).

Link to comment
Share on other sites

The easiest solution would be for IE to just go away. But that ain't gonna happen anytime soon.

 

I'm seeing the same problem on the demo store - the 'osCommerce' logo keeps getting refreshed everytime I click on any of the categories. It's quick, but its there. The same problem doesn't seem to happen in any other browser on multiple platforms.

 

Could be just one of the many inherent bugs in IE and until it tries to become somewhat compliant, its a pain trying to code for that browser at times.

 

:wacko:

 

Or, it could be a preference setting in the browser. But I haven't found a setting that disables the refresh/flickering problem in Explorer.

 

There's probably some sort of fix/workaround for this problem, but i'm tired of chasing down IE workarounds...

 

And something else. When you click any of the links a request to the server will be sent for the page contents. So there will be a latency to download the html content from the demo stire, but the browser will use the image from its cache and should not download it again (that's by default). This is not like with anchors or jscripts where the browser processes the client end only. So it is subject to your connection, b/w.

 

As of the note to use AJAX for the catalog end is not a good idea at all because your catalog content won't been tracked by spiders something you do need to generate sales.

Link to comment
Share on other sites

And something else. When you click any of the links a request to the server will be sent for the page contents. So there will be a latency to download the html content from the demo stire, but the browser will use the image from its cache and should not download it again (that's by default). This is not like with anchors or jscripts where the browser processes the client end only. So it is subject to your connection, b/w.

 

 

Well, images are being refreshed (the osCommerce logo) each time one goes into a different category on IE.

 

This is not the case with any other browser. Why, I don't know. Now granted, on the osCommerce live demo store its not that big of a deal because the image is pretty small, but in the case for stores where the logo is larger or there are other larger graphics it looks pretty bad when they are constantly being redrawn. Again, this is just in IE. Firefox and other browsers don't seem to have the problem.

Link to comment
Share on other sites

Well, images are being refreshed (the osCommerce logo) each time one goes into a different category on IE.

 

This is not the case with any other browser. Why, I don't know. Now granted, on the osCommerce live demo store its not that big of a deal because the image is pretty small, but in the case for stores where the logo is larger or there are other larger graphics it looks pretty bad when they are constantly being redrawn. Again, this is just in IE. Firefox and other browsers don't seem to have the problem.

Well ok try this, then so you can see what I am talking about.

 

Set the defaults for the browser caching, then use this link with IE

http://www.oscommerce.com/images/oscommerce.gif

 

That's the image you say it is not cached right? So once you access it with IE, stop the internet connection and hit enter on the address bar of your browser (not the refresh button, but simply place the mouse cursor on the address bar of the browser and hit enter). You will see the image showing again although no connection is present. Which means the browser uses its cache for plain images and does not request them again from the server. (using the browser defaults that is). If you repeat the same with a regular page of the demo store this won't happen because the browser will request the page content from the server and so no connection, and you will get the browser's default error message for accessing the page. "Page cannot be displayed".

 

Now when you access a regular page, a request will be sent to the server and the server will sent a response. There is a latency for the server to respond, till the browser loads the page content, but it will use its cache for the plain images. This latency depends with what connection you have as well how fast the server responds. The page content of the osc demo site will be re-sent but not the images as the browser will not request them.

 

If you need more sophisticated reports about the headers there are scripts/plugins etc available in the web for browsers that can show what's going on. Or you can write your own.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...