Fix back button on Firefox and Safari
Firefox (and Safari) uses bfcache (back-forward cache) to load re-visited pages. The solution is to force a reload when page is loaded from bfcache, so back button will work correctly. More information can be found here [1] and here [2]. [1] https://madhatted.com/2013/6/16/you-do-not-understand-browser-history [2] https://stackoverflow.com/questions/8788802/prevent-safari-loading-from-cache-when-back-button-is-clicked Change-Id: If023bca7c73f983e55c383856e304379c7b8be3a Closes-bug: #1686315
This commit is contained in:
parent
6e09bfa700
commit
7b45b7ae4b
24
horizon/static/horizon/js/horizon.hacks.js
Normal file
24
horizon/static/horizon/js/horizon.hacks.js
Normal file
@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
// Added so that we can break Firefox and Safari bfcache to
|
||||
// prevent loading previous page from cache.
|
||||
horizon.addInitFunction(function () {
|
||||
$(window).bind('pageshow', function(event) {
|
||||
if (event.originalEvent.persisted) {
|
||||
window.location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -27,6 +27,7 @@
|
||||
<script src='{{ STATIC_URL }}horizon/js/horizon.loader.js'></script>
|
||||
<script src='{{ STATIC_URL }}horizon/js/horizon.messages.js'></script>
|
||||
<script src='{{ STATIC_URL }}horizon/js/horizon.modals.js'></script>
|
||||
<script src='{{ STATIC_URL }}horizon/js/horizon.hacks.js'></script>
|
||||
<script type="text/javascript">
|
||||
horizon.modals.MODAL_BACKDROP = "{% firstof HORIZON_CONFIG.modal_backdrop 'static' %}";
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user