The following link is my attempt to write this, you can click it now, or bookmark it --> Toggle Dev
Let's read it line by line:
var alocation = window.location.search.toString(); // save the ?query string // determine if when we add dev=1 if we need a ? or an & var questoramp = alocation.indexOf('?') != -1 ? '&' : '?'; // if dev=1 exists, remove it, otherwise add it var next = alocation.match(/[\?&]dev=1/) ? alocation.replace(/[\?&]dev=1/,'') : alocation + questoramp + 'dev=1'; // handle special case where dev=1 is at the beginning of the url next = alocation.match(/\?dev=1&/) ? alocation.replace(/dev=1&/,'') : next; // update the window location window.location.href=window.location.pathname + next + window.location.hash;
You have to make sure you don't forget the window.location.hash, or else you will get the dev=1 in the wrong part of the url.
=====================
I also wanted a way to toggle my web server from live apache(https) to a single threaded dev server (8080)
Here is my attempt: Toggle 8080
Again, here it is line by line
// save the whole url var alocation = window.location.href.toString(); // if you see 8080 in the url, remove it and change the protocol to https, otherwise add it var next = window.location.port == '8080' ? alocation.replace(/:8080/,'').replace(/http/,'https') : 'http://' + window.location.host + ':8080' + window.location.pathname + window.location.search + window.location.hash; // update the window location window.location = next;
Hope this helps.
No comments:
Post a Comment