在火狐浏览器卸载之前
onbefore unload in Firefox
<script type="text/javascript">
var sessionID = getQuerystring('SessionID');
var cookieSessionID = getCookie('session');
var validNavigation = false;
function endSession() {
setCookie('session', sessionID, 1);
var cookieSU = getCookie('session');
if (cookieSU != null) {
getSyncData('strSessionId=' + sessionID, 'UpdateUserLogoutSession');
}
}
function wireUpEvents() {
window.onbeforeunload = function () {
if (!validNavigation) {
endSession();
}
}
$('document').bind('keypress', function (e) {
if (e.keyCode == 116) {
validNavigation = true;
}
});
$("a").bind("click", function () {
validNavigation = true;
});
$("form").bind("submit", function () {
validNavigation = true;
});
$("input[type=submit]").bind("click", function () {
validNavigation = true;
});
}
$(document).ready(function () {
if (cookieSessionID == null || cookieSessionID != sessionID) {
// Do nothing
} else {
if (cookieSessionID == sessionID) {
getData('strSessionId=' + sessionID, 'UpdateUserResetSession', function (result) {
if (result['Exception']) { };
});
}
}
wireUpEvents();
});
function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^'s+|'s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
</script>
我在这里打电话
UpdateUserLogoutSession
在
window.onbeforeunload
事件。。。
现在的问题是这在IE和Chrome上效果很好。但它不适用于火狐浏览器...
此函数标识页面是刷新还是关闭。所以我想使用
UpdateUserResetSession
在刷新事件和
UpdateUserLogoutSession
在关闭..!
有没有办法在火狐中做到这一点?为什么它不起作用?还有一件事....如果我把
alert("hi");
后
setCookie('session', sessionID, 1);
var cookieSU = getCookie('session');
if (cookieSU != null) {
getSyncData('strSessionId=' + sessionID, 'UpdateUserLogoutSession');
}
它只是工作得很好..但是当我在没有警报的情况下尝试时..它不起作用?
怎么了?
我遇到了同样的问题,这就是最终对我有用的(使用 jQuery(:
$(window).bind('beforeunload', function(){
});
相关文章:
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 如何在火狐浏览器中禁用F5和刷新
- 在火狐浏览器卸载之前
- 如何发出跨浏览器窗口卸载请求
- Chrome 在标签页(或浏览器)关闭时打开卸载前事件
- 在 JS 中,如果通过卸载调用两个函数,浏览器以什么顺序处理它们
- ThreeJS纹理加载:在火狐浏览器上黑色了一段时间
- 浏览器后退事件,不带打开之前卸载和卸载事件
- jQuery onclick加载随机使用火狐浏览器
- 从浏览器卸载事件中获取退出值
- 如何在用javascript卸载父窗口时关闭浏览器中的所有子窗口
- 在火狐浏览器中打开并填充下拉框加载
- 我们可以访问主流HTML页面中浏览器下一次请求的URL吗;s卸载功能
- 是否有任何方法来处理浏览器/选项卡关闭前卸载或onbeforeunload或卸载
- javascript: ie浏览器在表单提交/页面卸载之前没有发送ajax调用
- 富Internet应用程序可以在卸载整个浏览器的情况下运行吗?
- 浏览器允许卸载多少活动
- 浏览器在执行“卸载”前发送http请求.处理程序
- 卸载activex后,以管理员模式重新启动IE浏览器
- 火狐浏览器在页面加载时向下滚动