Certo che li perde... Se li vuole mantenere deve fare così:
(non l'ho testato):
codice:
var oGetVars = {};
if (window.location.search.length > 1) {
for (var aCouple, nKeyId = 0, aEntries = window.location.search.substr(1).split("&"); nKeyId < aEntries.length; nKeyId++) {
aCouple = aEntries[nKeyId].split("=");
if (aCouple.length < 2) { continue; }
oGetVars[aCouple[0]] = aCouple[1];
}
}
oGetVars.id = id;
oGetVars.data = data;
var sResult = "";
for (var sVar in oGetVars) {
sResult += "&" + sVar + "=" + oGetVars[sVar];
}
window.location.search = "?" + sResult.slice(1);
(si può fare la stessa cosa con le espressioni regolari con molto meno codice... ma adesso non mi va di mettermici...)