Javascript 将window.SessionTimeout脚本传递到js文件
我正在做一个MVC应用程序。这在my_Layout.cshtml中 我需要把它移到一个js文件中Javascript 将window.SessionTimeout脚本传递到js文件,javascript,asp.net-mvc,view,Javascript,Asp.net Mvc,View,我正在做一个MVC应用程序。这在my_Layout.cshtml中 我需要把它移到一个js文件中 <script type="text/javascript"> window.SessionTimeout = (function() { var _timeLeft, _popupTimer, _countDownTimer; var stopTimers = function() { window.clearTimeout(_popupTimer);
<script type="text/javascript">
window.SessionTimeout = (function() {
var _timeLeft, _popupTimer, _countDownTimer;
var stopTimers = function() {
window.clearTimeout(_popupTimer);
window.clearTimeout(_countDownTimer);
};
var updateCountDown = function() {
var min = Math.floor(_timeLeft / 60);
var sec = _timeLeft % 60;
if(sec < 10)
sec = "0" + sec;
document.getElementById("CountDownHolder").innerHTML = min + ":" + sec;
if(_timeLeft > 0) {
_timeLeft--;
_countDownTimer = window.setTimeout(updateCountDown, 1000);
} else {
document.location = "Home/TimeOutPage";
}
};
var showPopup = function() {
_timeLeft = 60;
updateCountDown();
ClientTimeoutPopup.Show();
};
var schedulePopup = function() {
stopTimers();
_popupTimer = window.setTimeout(showPopup, @PopupShowDelay);
};
var sendKeepAlive = function() {
stopTimers();
ClientTimeoutPopup.Hide();
SessionTimeout.schedulePopup();
};
return {
schedulePopup: schedulePopup,
sendKeepAlive: sendKeepAlive
};
})();
更新
好的,我发现了错误。
问题在于变量
@PopupShowDelay
我在视图中定义了它,并试图读取.js文件
所以,我要检查一下:
谢谢 嵌套函数中的
此
上下文可能有问题。
如果您在模板文档正文末尾的脚本标记中链接了文件,并且文件加载正确(如果执行了代码,请使用console.log进行测试),则代码应该正常工作。您可以原样复制它。你为什么认为它不起作用?是的,我也是这么想的。但我不工作。不知道为什么
@PopupShowDelay