Skip to content

Instantly share code, notes, and snippets.

@rturk
Last active August 15, 2018 18:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rturk/bf1b3dfdb6b2c5e0bc705fed675b5281 to your computer and use it in GitHub Desktop.
Save rturk/bf1b3dfdb6b2c5e0bc705fed675b5281 to your computer and use it in GitHub Desktop.
GTM Force Reload Tag
<script>
/*
This script will force reload of the page based on the harcoded version.
Create as tag and Use GTM to trigger execution.
*/
var GTMRELOADER_CURRENT_VERION = '1';
var GTMRELOADER_KEY_NAME = 'VERSION';
function canIUseLocalStorage(){
var test = 'test_ls_test';
try {
localStorage.setItem(test, test);
localStorage.removeItem(test);
return true;
} catch(e) {
return false;
}
}
function setAndReload(){
localStorage.setItem(GTMRELOADER_KEY_NAME, GTMRELOADER_CURRENT_VERION);
setTimeout(function() { location.reload(true);}, 2000);
}
if(canIUseLocalStorage()){
console.log("GTM:RELOADER: start");
//Test if existing key exits
try {
var version_local = localStorage.getItem(GTMRELOADER_KEY_NAME);
if( version_local != GTMRELOADER_CURRENT_VERION) {
console.log("GTM:RELOADER: Version mismatch, force-reload");
setAndReload();
} else {
console.log("GTM:RELOADER: Already in the correct version, nothing to do");
}
} catch(err) {
console.log("GTM:RELOADER: Version key not set, set and force-reload");
setAndReload();
}
} else {
console.log("GTM:RELOADER: Local storage function not available, fail save mode: do nothing");
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment