火狐下刷新的问题

问题描述

我想在页面刷新之前,然后页面的里一个表单先提交下。window.onbeforeunload=function (event){event = (event)?event:window.event;if (event.clientX < 0 && event.clientY < 0 || event.altKey) {exitsystems();} else {window.location.href = "<%=request.getContextPath() %>/page/user.do?method=closed"; alert("1");}} 代码如上,else里面有个alert("1")看起来是多余的,如果在火狐上,不加上的话,就不会执行window.location.href = "<%=request.getContextPath() %>/page/user.do?method=closed"; 请教各位如何解决这个问题,alert("")肯定是不需要的,不然每次刷新页面都会跳个对话框出来。

解决方案

可能的问题是window.location.href赋值后,网页的执行是异步的,所以在关闭网页之前,来不及提交。alert是阻塞事件的,所以你能看到。改造的流程应该是,先中断当前事件执行,提交,然后再继续执行改事件。
解决方案二:
首先确定是不是js有错误,另外在window.location.href后面加一句window.event.returnValue=false;试试

时间: 2025-01-20 17:52:31

火狐下刷新的问题的相关文章

ie11缺少对象-window.location.reload(); 火狐下不会报错,ie11报错

问题描述 window.location.reload(); 火狐下不会报错,ie11报错 解决方案 那要看到你的代码才知道 解决方案二: 其他代码呢..不一定是这句报错吧..reload会刷新页面,可能你其他代码还在执行导致报这个错误 解决方案三: 你确定是 window.location.reload(); 导致的? 解决方案四: The reload() method in IE is actually a post method and IE is showing this popup

javascript-Javascript写贪吃蛇:火狐下无法触发按键事件。

问题描述 Javascript写贪吃蛇:火狐下无法触发按键事件. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{margin: 0;padding: 0;font-family: 'Microsoft Yahei';text-align: c

jquery操作checkbox火狐下第二次无法勾选的解决方法_jquery

最近在学习jQuery(版本jquery-1.9.1.js),要求用jQuery实现全选/全不选.反选,在IE(IE8)中没有问题,但在火狐浏览器中调试的时候出现了一些小问题,达不到效果. html代码如下: <div> 你爱好的运动是 <input type="checkbox" id="selectal1" /><label for="selectal1">全选/全不选</label><b

火狐下easyui1.3.*弹出window框无法定位到中间问题解决

在火狐下出现了一个问题,弹出window窗口时不在中间,而在IE和Google下却显示正常,解决方法很简单之需给body标签加上全屏的样式即可解决 今天在学习easyui,在火狐下出现了一个问题,弹出window窗口时不在中间,而在IE和Google下却显示正常,如下图: 从图可以看出出现的问题是因为火狐的body不是全屏,而ie下的是全屏,需要给body标签加上全屏的样式上面问题即可解决,这个问题不知道是easyui的问题还是jquery的问题.

解决jquery操作checkbox火狐下第二次无法勾选问题

 在工作中使用jquery操作checkbox,进行全选.反选,现在的问题是火狐下第二次无法勾选问题,在下面有个详细的解答,感兴趣的朋友可以参考下 最近在工作中使用jquery操作checkbox,使用下面方法进行全选.反选:  复制代码 代码如下: var ischecked=allCheckObj.is(':checked');  ischecked?checksObj.attr('checked',true):checksObj.attr('checked',false);    调试时在

js-ie下使用jQuery获取对象并设置值出错,火狐下正常

问题描述 ie下使用jQuery获取对象并设置值出错,火狐下正常 调试时控制台不断输出错误信息: 获取的是input,input是在js中动态添加上的,鼠标移上去就会显示出来 为input绑定了一个"change"事件,但是在事件处理中,在ie下用属性选择器不能获取到对象并报错 求解??? ie9+jquery1.7 解决方案 你的IE是哪个版本的,可以使用高版本试下,如果高版本可以,表示你当前版本不支持这个功能 解决方案二: 换jquery1.9左右的版本试试,jquery2.0版本

javascript添加购物车功能,为什么在IE下是正常的,在chrome和火狐下就实现不了

问题描述 javascript添加购物车功能,为什么在IE下是正常的,在chrome和火狐下就实现不了 解决方案 你用的框架网页?top main怎么定义的,ff chrome的框架获取值不能跨域. 解决方案二: 参考:http://p2p.wrox.com/javascript-how/7042-getting-value-another-frame-how.html

缓存-火狐F5刷新会重新加载页面素有的元素

问题描述 火狐F5刷新会重新加载页面素有的元素 $(function(){ //是否请求出AJAX的"开关": var onOff = true; $(document).scroll(function(){ //拖动滚条时,是否发送AJAX的一个"开关" //引用最后一个LI var lastLi = $(".loading"); //调用是否进入可视区域函数 var isSee = see(lastLi); if(isSee &&am

js 火狐下取本地路径实现思路_javascript技巧

复制代码 代码如下: /* 火狐下取本地全路径 */ function getFullPath(obj) { if(obj) { //ie if (window.navigator.userAgent.indexOf("MSIE")>=1) { obj.select(); return document.selection.createRange().text; } //firefox else if(window.navigator.userAgent.indexOf(&quo