В моем приложении asp.net mvc есть версионный файл JS, версия которого меняется каждый раз, когда я меняю версию приложения, - довольно простой подход.
Прошло много времени с тех пор, как я внес какие-либо изменения в скрипт, поэтому, когда мне недавно пришлось это сделать, я заметил, что браузер не принимает более новый код.
Я протестировал его в Chrome и IE, но безуспешно.
Мой .cshtml включает в себя файл js в конце, например:
<script src="~/Scripts/app/xyzFile.js?@version"></script>
@version
принимает значение из web.config
То, что я считаюеще более странным является то, что на вкладке «Источники» в инструментах разработчика Chrome отображается новый код, но приложение по-прежнему работает как старый код.
Часть файла JS, которая меня интересует, выглядит следующим образом
var mySelectionChanged = function (e) {
debugger;
if ($('.myDiv').val() == "0") {
//do something
}
else if ($('.myDiv').val() == "-1") {
//do something
}
else {
//do something
}
};
$('.myDiv').change(mySelectionChanged);
До изменения это был просто if...else
.Приложение все еще использует логику if...else
.Я проверил значение mySelectionChanged
в консоли Chrome и IE, и они оба показали старый код, но, как я уже упоминал, на вкладке «Источник» в Chrome отображается новый код.
Я пытался изменить @version
на множество вещей, даже убрал его, но результат остался прежним.