mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	fix: update ajaxifyTimer logic to only drop the request if the URL is the same as the one it's already processing
re: #12133
This commit is contained in:
		
				
					committed by
					
						 Barış Soner Uşaklı
						Barış Soner Uşaklı
					
				
			
			
				
	
			
			
			
						parent
						
							21e5953888
						
					
				
				
					commit
					dcb0c4dbb0
				
			| @@ -17,6 +17,7 @@ ajaxify.widgets = { render: render }; | ||||
|  | ||||
| 	ajaxify.count = 0; | ||||
| 	ajaxify.currentPage = null; | ||||
| 	ajaxify.requestedPage = null; | ||||
| 	// disables scroll to top when back button is clicked | ||||
| 	// https://developer.chrome.com/blog/history-api-scroll-restoration/ | ||||
| 	if ('scrollRestoration' in history) { | ||||
| @@ -38,10 +39,11 @@ ajaxify.widgets = { render: render }; | ||||
| 		} | ||||
|  | ||||
| 		// Abort subsequent requests if clicked multiple times within a short window of time | ||||
| 		if (ajaxifyTimer && (Date.now() - ajaxifyTimer) < 500) { | ||||
| 		if (ajaxify.requestedPage === url && ajaxifyTimer && (Date.now() - ajaxifyTimer) < 500) { | ||||
| 			return true; | ||||
| 		} | ||||
| 		ajaxifyTimer = Date.now(); | ||||
| 		ajaxify.requestedPage = url; | ||||
|  | ||||
| 		if (ajaxify.handleRedirects(url)) { | ||||
| 			return true; | ||||
| @@ -134,6 +136,7 @@ ajaxify.widgets = { render: render }; | ||||
|  | ||||
| 	ajaxify.updateHistory = function (url, quiet) { | ||||
| 		ajaxify.currentPage = url.split(/[?#]/)[0]; | ||||
| 		ajaxify.requestedPage = null; | ||||
| 		if (window.history && window.history.pushState) { | ||||
| 			window.history[!quiet ? 'pushState' : 'replaceState']({ | ||||
| 				url: url, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user