Итак, у меня этот очень простой случай переключения, из локальной переменной я импортирую значение в функцию, и основной функцией является переход с французского псевдонима и возврат значения к моему javascript ...Ошибка корпуса коммутатора?
Если для по какой-то причине ALIAS на странице не фигурирует в тех случаях, когда она должна идти по умолчанию и запускать мою функцию jsbreak, однако в моем случае, даже если обнаружен псевдоним и он переключает переменную на новые значения, она по-прежнему переходит к умолчанию и выполнить код ...
function langToggle(currentAlias) {
switch(currentAlias) {
//Switch the variable from English to French and vice versa depending on the current page's URL string when the toggle js link is clicked
//If ENGLISH switch the variable to French
//If ENGLISH switch the variable to French
case "about-us": currentAlias = "a-notre-sujet"; break;
//If FRENCH switch the variable to French
case "a-notre-sujet": currentAlias = "about-us"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "facilities-and-security":
currentAlias = "installations-et-securite"; break;
case "installations-et-securite":
currentAlias = "facilities-and-security"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "offenders":
currentAlias = "delinquants"; break;
case "delinquants":
currentAlias = "offenders"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "you-and-csc":
currentAlias = "scc-et-vous"; break;
case "scc-et-vous":
currentAlias = "you-and-csc"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "connecting":
currentAlias = "etablir-des-liens"; break;
case "etablir-des-liens":
currentAlias = "connecting"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "resources":
currentAlias = "ressources"; break;
case "ressources":
currentAlias = "resources"; break;
/*--------------------------------------[ See the first two comments ]---------------------------------- */
case "international-transfers":
currentAlias = "transferements-internationaux"; break;
case "transferements-internationaux":
currentAlias = "international-transfers"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "educational-resources":
currentAlias = "ressources-pedagogiques"; break;
case "ressources-pedagogiques":
currentAlias = "educational-resources"; break;
/* -------------------------------------[ See the first two comments ]---------------------------------- */
case "cfp":
currentAlias = "pfc"; break;
case "pfc":
currentAlias = "cfp"; break;
default: alert("the no matching alias");
}
//Return the value of the updated Alias to the language toggle script
return currentAlias;
}
это ДРУГАЯ функция вызова сценария тумблера для тех, говоря, что это может быть прослушивают?
function jsabort(){
throw new Error('This is not an error. This is just to abort javascript');
}
function js_changeit(){
var mainName = String(window.location);
var dash = mainName.lastIndexOf("-");
var slash = mainName.lastIndexOf("/");
var dot = mainName.lastIndexOf(".");
var name = mainName.substring(slash+1,dot);
var ext = mainName.substring(dot,mainName.length);
var lang = name.substring(name.length-3,name.length);
var urlSection = mainName.split("/");
var currentAlias = urlSection[3];
var currentSite = urlSection[2];
var urlUntilEndAlias = "http://" + currentSite + "/" + currentAlias + "/";
var mainUrlSplittedAtAlias = mainName.split(urlUntilEndAlias);
var mainUrlSplittedAtAliasLastSlash = mainUrlSplittedAtAlias[1];
if (mainName === "http://internet/index-eng.shtml" || mainName === "http://internet/index-fra.shtml") {
if (lang != "eng") {
window.open("http://" + currentSite + "/" + "index" + "-eng" + ext, "_self");
} else if (lang != "fra") {
window.open("http://" + currentSite + "/" + "index" + "-fra" + ext, "_self");
}
} else {
var lastDash = mainUrlSplittedAtAliasLastSlash.lastIndexOf("-");
var subSectionUntilEndFilename = mainUrlSplittedAtAliasLastSlash.substring(0,lastDash);
var UpdatedAlias = langToggle(currentAlias);
langToggle();
if (lang != "eng") {
window.open("http://" + currentSite + "/" + UpdatedAlias + "/" + subSectionUntilEndFilename + "-eng" + ext, "_self");
} else if (lang != "fra") {
window.open("http://" + currentSite + "/" + UpdatedAlias + "/" + subSectionUntilEndFilename + "-fra" + ext, "_self");
}
}
}
выключатель сломан или ошибка в коде? Я знаю, на что я положил свои деньги ... –
@MitchWheat: haha - сделал мой день ... – jAndy
Почему вы используете 'switch' для этого? Обычный объект, используемый в качестве карты, занимает менее половины объема кода. – Jon