Commit 7d58328dfaa049e795287c4f34efee28c0f0121f
1 parent
dd593502
Exists in
master
and in
29 other branches
ShoppingCartPlugin do not worry about page unload
Showing
1 changed file
with
17 additions
and
4 deletions
Show diff stats
plugins/shopping_cart/public/cart.js
@@ -307,6 +307,11 @@ function Cart(config) { | @@ -307,6 +307,11 @@ function Cart(config) { | ||
307 | $.colorbox.close(); | 307 | $.colorbox.close(); |
308 | } | 308 | } |
309 | 309 | ||
310 | + $(window).bind('beforeunload', function(){ | ||
311 | + log('Page unload.'); | ||
312 | + Cart.unloadingPage = true; | ||
313 | + }); | ||
314 | + | ||
310 | $(function(){ | 315 | $(function(){ |
311 | 316 | ||
312 | $.ajax({ | 317 | $.ajax({ |
@@ -318,10 +323,18 @@ function Cart(config) { | @@ -318,10 +323,18 @@ function Cart(config) { | ||
318 | }, | 323 | }, |
319 | cache: false, | 324 | cache: false, |
320 | error: function(ajax, status, errorThrown) { | 325 | error: function(ajax, status, errorThrown) { |
321 | - log.error('Error getting shopping cart - HTTP '+status, errorThrown); | ||
322 | - if ( confirm(shoppingCartPluginL10n.getProblemConfirmReload) ) { | ||
323 | - document.location.reload(); | ||
324 | - } | 326 | + // Give some time to register page unload. |
327 | + setTimeout(function() { | ||
328 | + // page unload is not our problem. | ||
329 | + if (Cart.unloadingPage) { | ||
330 | + log('Page unload before cart load.'); | ||
331 | + } else { | ||
332 | + log.error('Error getting shopping cart - HTTP '+status, errorThrown); | ||
333 | + if ( confirm(shoppingCartPluginL10n.getProblemConfirmReload) ) { | ||
334 | + document.location.reload(); | ||
335 | + } | ||
336 | + } | ||
337 | + }, 100); | ||
325 | } | 338 | } |
326 | }); | 339 | }); |
327 | }); | 340 | }); |