`

javascript的 页面关闭还是页面刷新

阅读更多
网上找的
1.用javascript重新定义 window.onbeforeunload()  事件

在javascript里定义一个函数即可
function  window.onbeforeunload()  {  alert("关闭窗口")} 

alert()事件将会在关闭窗口前执行,你也可以用户决定是否关闭窗口 

function  window.onbeforeunload()  {  
if  (event.clientX>document.body.clientWidth  &&  event.clientY<0 ||event.altKey)  //这个方法好像只适用于ie6,但ie7和firefox不能用,firefox是因为要为1.方法传入event才能用event,2.在文档外(document)外就没有event的clientX,clentY,X,Y
     window.event.returnValue="确定要退出本页吗?";  
} 


2.用onUnload方法

在body 标签里加入onUnload事件

body onUnload="myClose()" 


然后在javascript里定义myClose()方法

但是onUnload方法是在关闭窗口之后执行,不是在关闭窗口之前执行,如果你想在关闭窗口之前做判断,请用第一种方法

以上的方法在ie6中,在页面刷新时候 不会调用是因为event.clientX>document.body.clientWidth


适用于firefox和ie的

function getEvent() //同时兼容ie和ff的写法, 这个方法是网上copy的  
    { 
        if(document.all)   return window.event; 
        func=getEvent.caller; 
        while(func!=null){ 
            var arg0=func.arguments[0]; 
            if(arg0) 
            { 
                if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)) 
                { 
                    return arg0; 
                } 
            } 
            func=func.caller; 
        } 
        return null; 
    } 

    function ConfirmClose() { 
        if(window.event) 
            window.event.returnValue = "在关闭窗口前确认您是否已经保存了信息!"; 
        else 
            getEvent().preventDefault();//for firefox 
    } 

    function on_page_loaded()   //自己定义的body的onload事件  
    { 
        try{ 
            if(!window.onbeforeunload )    //为了不覆盖原来的onbeforeunload方法,先判断 
                window.onbeforeunload = ConfirmClose;   //todo 增加了窗口关闭前的提示 
        }catch(e){} 
    }

<body onload="on_page_loaded()">


或者简单些

function ConfirmClose() {
        return "在关闭窗口前确认您是否已经保存了信息!";
    }

function on_page_loaded()
    {
         try{
            if(!window.onbeforeunload)
                window.onbeforeunload = function(){return ConfirmClose();};   //todo 增加了窗口关闭前的提示
        }catch(e){}
    }


<body onload="on_page_loaded()">


但是页面刷新的时候也会调用的


在搞这个的时候才发现body没有onclick事件,应该用document.onclick=function(){}
分享到:
评论
2 楼 sopships 2009-05-08  
不错,看看
1 楼 clfsw0201 2009-01-21  
不错哦,谢谢

相关推荐

    基于JavaScript判断浏览器到底是关闭还是刷新(超准确)

    - 检测`onbeforeunload`事件和`onunload`事件触发之间的时间间隔,以此来判断是刷新还是关闭。如果时间间隔较短,则倾向于认为是关闭页面。 示例代码如下: ```javascript window.onbeforeunload = function() { ...

    javascript判断页面是否是刷新还是关闭

    结合以上信息,我们可以在`beforeunload`或`unload`事件中检查`performance.navigation.type`,以判断页面是被刷新还是关闭。然而,需要注意的是,由于浏览器的隐私和安全策略,`beforeunload`事件的回调函数可能...

    判断页面是关闭还是刷新的js代码

    - `fclose()`函数在页面卸载时被调用,根据`s`的值判断是页面刷新还是关闭,并给出不同的提示信息。 ### 实际应用与注意事项 虽然使用`onload`、`onunload`和`onbeforeunload`事件可以有效地判断页面的加载和卸载...

    弹出层关闭父页面刷新

    在网页开发中,有时我们需要实现一个功能:当一个弹出层(通常是模态窗口或对话框)被关闭时,能够自动刷新其父页面的内容。这个功能常见于数据编辑或者信息确认场景,用户在子窗口中完成操作后,返回父页面看到最新...

    jquery弹出层不关闭 父页面刷新

    在IT领域,尤其是在Web开发中,"jquery弹出层不关闭 父页面刷新"是一个常见的交互需求。这里,我们主要讨论如何使用jQuery实现这样的功能,即在一个弹出层(通常是一个模态对话框)显示时,用户可以操作父页面而不会...

    使用javascript验证窗口是关闭还是刷新

    ### 使用JavaScript验证窗口是关闭还是刷新 在Web开发过程中,我们常常需要监控用户与网页的交互行为,包括但不限于用户关闭浏览器窗口、刷新页面等动作。这些事件对于网站来说非常重要,可以用于实现各种功能,...

    open 关闭子页面刷新父页面

    根据给定的代码片段和描述,“open关闭子页面刷新父页面”这一主题涉及到的关键知识点主要包括:使用JavaScript打开新窗口、父窗口与子窗口之间的通信,以及通过特定事件触发父窗口的刷新。 ### 使用JavaScript打开...

    javascript页面关闭事件

    - 如果不是上述情况,则认为是正常的页面刷新或转换为框架页面。 - 如果满足上述条件之一,则认为是用户尝试关闭窗口。 #### 五、事件触发时机 `onbeforeunload`事件是在文档将要被卸载但尚未真正卸载时触发。这...

    判断浏览器是刷新还是关闭窗口

    ### 判断浏览器是刷新还是关闭窗口 在网页开发过程中,我们常常希望能在用户退出或离开当前页面时执行一些特定的操作,比如保存用户的状态、显示一个警告框等。为此,JavaScript 提供了 `onunload` 事件,它会在...

    JavaScript中判断页面关闭、页面刷新的实现代码

    今天由于项目需要判断用户离开页面时要判断用户的行为是关闭还是刷新 虽然没有直接的方法,但通过一定的技巧也能做到 不得不感叹JavaScript的强大!! 请看一下代码: 代码如下: [removed] = function(){   var a...

    JavaScript刷新页面大全

    例如,在 ASP.NET 中可以使用 `Response.Write` 输出 JavaScript 代码来触发页面刷新。 **示例代码(ASP.NET):** ```csharp this.Response.Write("&lt;script&gt;opener.location.reload();&lt;/script&gt;"); ``` #### 7. ...

    javascript刷新父页面

    以上代码定义了一个名为 `refreshParent` 的函数,当调用该函数时,会触发父窗口的页面刷新。这里使用了 `window.parent.location.reload()` 方法来实现刷新。 ##### 方法二:使用 `window.opener` ```javascript ...

    Javascript刷新页面的几种方法

    接下来是一些具体的JavaScript实现页面刷新的例子: #### 定时刷新整个页面 ```javascript function myrefresh() { window.location.reload(); } setTimeout('myrefresh()', 1000); // 每隔1秒刷新一次 ``` ####...

    js监听页面的刷新与关闭

    使用javascript实现监听页面的刷新与关闭,可在用户刷新或关闭窗口时执行相关操作。

    onunload事件判断浏览器是刷新还是关闭窗口

    onunload 事件判断浏览器是刷新还是关闭窗口 在浏览器中,我们经常需要判断浏览器是刷新还是关闭窗口,以便执行相应的操作。onunload 事件可以帮助我们实现这个功能。当浏览器退出时会触发 onunload 事件,因此我们...

    javascript页面跳转与自动刷新常用代码

    ### JavaScript页面跳转与自动刷新相关知识点 #### 一、JavaScript刷新页面的多种方法 JavaScript提供了多种方式来刷新页面,具体方法如下: 1. **`history.go(0)`** - 这个方法用于重新加载当前文档。 - **...

    网页缓存清除及页面刷新与关闭.doc

    网页缓存清除及页面刷新与关闭 知识点1: 网页缓存的概念 网页缓存是指浏览器将访问过的网页保存到本地缓存中,以便下次访问时可以快速加载。缓存可以分为两种:强制缓存和协商缓存。强制缓存是指浏览器在访问网页...

    浏览器页面,禁用刷新

    1. **阻止默认行为**:在JavaScript中,我们可以监听`window`对象上的`beforeunload`或`unload`事件,当这些事件触发时,我们可以调用`event.preventDefault()`方法来阻止默认的页面刷新行为。例如: ```...

Global site tag (gtag.js) - Google Analytics