$(document).ready(function () {
function EndSession() {
window.close();
};
setTimeout("EndSession()", 10000);
});
上面显示的是使用window.open()打开的子页面中的代码。
问题是尝试调用EndSession十秒钟后,它引发了错误
“ Microsoft JScript运行时错误:'EndSession'未定义”
这里发生了什么?
最佳答案
也许“字符串”的旧方法的问题在于它正在全局范围内寻找方法,而该方法是在用于jQuery ready
的函数中定义的。
如果有适当的引用,我们可以显式传递我们真正想要的函数。
咱们试试吧:
$(document).ready(function () {
var endSession = function() {
window.close();
};
setTimeout(endSession, 10000);
});
尽管我还没有尝试过,但也许可以使用:
$(document).ready(function () {
setTimeout(window.close, 10000);
});
我不确定您是否也需要准备好jQuery,除非您有意要在文档完全加载后开始计时(我希望很快会出现一个很快关闭的弹出窗口)。