in src/main/js/bmap.js [267:303]
BrowserMap.getNewURL = function (currentURL, detectedDeviceGroups, urlSelectors) {
var newURL = null,
currentVariant = BrowserMap.getCurrentVariant(),
alternateSite = BrowserMap.getAlternateSite(detectedDeviceGroups, function(alternateLink) {
if (languageOverride && alternateLink.hreflang && alternateLink.hreflang.lastIndexOf(languageOverride) === 0) {
return true;
} else if (currentVariant && currentVariant.hreflang === alternateLink.hreflang) {
return true;
}
return false;
}),
i,
dg,
parameters = BrowserMapUtil.Url.getURLParametersString(currentURL),
urlNoParams = currentURL.replace(parameters, '');
if (alternateSite) {
newURL = alternateSite.href;
}
if (!newURL) {
for (i = 0; i < detectedDeviceGroups.length; i++) {
dg = BrowserMap.getDeviceGroupByName(detectedDeviceGroups[i]);
if (dg) {
newURL = dg.url;
if (newURL) {
break;
}
}
}
}
if (!newURL) {
newURL = BrowserMapUtil.Url.addSelectorsToURL(urlNoParams, urlSelectors);
}
if (parameters) {
newURL += parameters;
}
return newURL;
};