Нет, на этот раз дело не в том, что я не объявил переменную перед выражением с
.replace .
Если не вдаваться в детали, зачем мне это, то задача следующая: вне зависимости от того, на локольном или удалённом сервере находится сайт, сохранить в значение переменной имя текущего файла без разрешения.
Вот такой код:
var fileName = location.href.split("/").slice(-1); // Значение проверил, выводит, например, "info.php"
if (fileName == "#" || fileName == "") {var fileName="index";} // Если страница - начальная
else{
//alert(fileName); // позиция 1
fileName = fileName.replace(/\.php$/i,'');
alert(fileName); // позиция 2
}
Если мы находимся не на главной странице (index.php), то мы попадаем в
else. Я убедился, что это работает через
alert(fileName); в
позиции 1. Однако в
позиции 2 - уже не работает, т. е. окна нет вообще. Никаких сообщений об ошибке.
Такой код:
fileName="info.php"; // на этот раз введём имя файла вручную
fileName=fileName.replace(/\.php$/i,''); // 1 в 1 с предыдущим кодом
alert(fileName);
я проверил на jsfiddle; там всё работает.
В чём может быть дело?