Set URL in history.replaceState/pushState
When <base href> is present, history.replaceState and history.pushState behave inconsistent with relative URLs. http://code.google.com/p/chromium/issues/detail?id=274024 Contrary to what one expect, passing '' as the URL parameter to replaceState/pushState does not associate the currently active URL with the history entry, but a path relative to <base href>. To fix the issue, explicitly associate the current active URL with the history's state.
This commit is contained in:
		
							parent
							
								
									5ca1c84564
								
							
						
					
					
						commit
						c653bf3aff
					
				| @ -65,7 +65,8 @@ var PDFHistory = { | |||||||
|         // is opened in the web viewer.
 |         // is opened in the web viewer.
 | ||||||
|         this.reInitialized = true; |         this.reInitialized = true; | ||||||
|       } |       } | ||||||
|       window.history.replaceState({ fingerprint: this.fingerprint }, ''); |       window.history.replaceState({ fingerprint: this.fingerprint }, '', | ||||||
|  |           document.URL); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     var self = this; |     var self = this; | ||||||
| @ -270,9 +271,9 @@ var PDFHistory = { | |||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     if (overwrite || this.uid === 0) { |     if (overwrite || this.uid === 0) { | ||||||
|       window.history.replaceState(this._stateObj(params), ''); |       window.history.replaceState(this._stateObj(params), '', document.URL); | ||||||
|     } else { |     } else { | ||||||
|       window.history.pushState(this._stateObj(params), ''); |       window.history.pushState(this._stateObj(params), '', document.URL); | ||||||
|     } |     } | ||||||
|     this.currentUid = this.uid++; |     this.currentUid = this.uid++; | ||||||
|     this.current = params; |     this.current = params; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user