OK, this is a bit hard to explain, because I have not been able to replicate the problem myself (running OSX 10.8.2).
My client reports the following problem with OSX 10.6.8 and any browser
This is what is normal behaviour:
1. Item details are shown (this is before any FC code runs) and specifics are selected (in a custom modal window)
2. User clicks 'add to cart', which should trigger the fcc.events.cart.process.add JS code:
With JSONP the item should be added to the cart; the 'add to cart' button is then disabled until the JSONP request is done and a status message is displayed that the item is added to the cart. The user stays in the custom modal window and can see what is happening, this usually takes a second or two.
3. The user can decide to view the cart (in the same modal) and if the user decided to check out they are taken to the FC pages.
This is what happens on that particular system:
1. Same: item details are shown in modal and user can select specs before adding it to the cart.
2. User clicks 'add to cart' and the modal closes and it will show the default template FC cart page. It says the cart is empty.
3. User clicks the browser back button (doesn't expect the default FC cart page) and sees the original product page with the modal in the state where it is doing it's JSONP request to add the item to the cart (I know this because the add to cart button is disabled and it shows a temporary status message ("please wait...")
I'm trying to track down where this goes wrong;
1. Where is that FC default templated cart page switching coming from?! I'm not using it anywhere.
2. I don't think my modal goes away actually, it does get updated to the "please wait while adding product to cart" state. Because when pressing the back button it shows that exact state.
3. Why does it stay in the JSONP request.. probably it stopped working because the page/state got changed somewhere in the request...
Not sure if this a 1-user-problem, but I have heard of some other "problems" that I haven't been able to trace back yet, they might be getting the same stuff. I am testing across browsers/systems and didn't see any problems popping up like this myself before.