亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

關閉ie窗口清除Session的解決方法

2019-11-20 21:16:34
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

//function window.onunload() { alert('這就是你要做的事,關閉網頁之后做的! '); location = 'SessionClear.aspx'; }
        //function window.onbeforeunload() { alert('這就是你要做的事,關閉網頁之前做的! ') }

        function window.onunload() {

            if ((window.screenLeft >= 10000 && window.screenTop >= 10000) || event.altKey) {
                alert(window.screenLeft+","+window.screenTop);
                //用戶非正常關閉時需要觸發的動作
                location = 'Handler1.ashx';
            }
        }

    </script>


Handler1.ashx:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.SessionState;

namespace WebApplication1
{
    /// <summary>
    /// $codebehindclassname$ 的摘要說明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Handler1 : IHttpHandler,IRequiresSessionState
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Session.Abandon();
            context.Session.Clear();
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}


解釋:

一般的會員形式的網站,在會員登陸后都會建立會話或者Cookie,然后需要在會員退出時點退出連接或按紐退出。在會員直接關閉窗體的時候,沒有觸發涉及到退出的一系列退出。而這些要等到服務器會話過期才會被清除掉。

有幸的是在網絡上終于找到可以捕獲用戶使用Alt+F4、標題欄按右鍵關閉、雙擊標題欄、直接按關閉按鈕的事件的方法。當然對于最小化到任務欄再進行關閉是不能捕獲的。

復制代碼 代碼如下:

<script language="javascript">
<!--
function window.onunload(){
if((window.screenLeft>=10000 && window.screenTop>=10000)||event.altKey)
{
//用戶非正常關閉時需要觸發的動作
}
}
-->
</script>

說明:
window.screenLeft = 10000 + 邊框寬 (2×2) = 10004
window.screenTop = 10000 + 工具欄高 + 標題欄高 = 10097

需要說明的,在onBeforeUnload中屏幕這些坐標屬性都是正常數值。

screenLeft:獲取瀏覽器客戶區左上角相對于屏幕左上角的 x 坐標。

screenTop:獲取瀏覽器客戶區左上角相對于屏幕左上角的 y 坐標。

我猜測,在窗體銷毀時捕獲的將產生一個特殊的數值。在正常情況下的點擊測試,數值都不會超過該數值。

現在問題是,在onBeforeUnload中使用window.location可以正常地提交請求到指定URL,但在onUnload事件中該方法不能有效執行。解決的方法是新開一個窗口,在將之關閉掉。

我們可以寫上這樣的話,來代替以往使用的,一系列的window.location。因為門戶網站涉及到多個跨服務器的網站服務器。在統一入口退出后,需要依次地進行順序退出,才能達到門戶網站期望的效果。

var newWindow;
window.opener=null;
newWindow=window.open(URL,PageName, 'height=0,width=0');
newWindow.opener=null;
newWindow.close();
……

該段代碼已經經過測試,在onUnload里不要使用window.close,因為對象銷毀前會立即觸發該事件。而onBeforeUnload是頁面將要被卸載前觸發的事件。

而所謂的清除實質上就是把做好退出功能的頁面,直接以打開新窗口方式的調用??赡茉谡{用到關閉的時候能停頓一兩秒,或者關閉窗口放在專門的退出頁面。該頁面與正常退出又切回到首頁,不同的是退出后會自動進行關閉,不需要再另外進行控制直接打開即可。

[注意]在window.onUnload中如果不加判斷,則會在刷新頁面等導致當前頁面變化都會觸發該事件。因此必須要進行判斷,捕捉特定的操作,才能屏蔽掉一些正常的操作。

續:在IE中如何在用戶直接關閉窗口前清除Session

昨天曾經講解了實現思路,但在實際操作中發現,必須要加上延遲才能確保程序可以正常執行完畢。下面附上實現的細節,并附上簡單的時間延遲函數。代碼已經經過測試。

復制代碼 代碼如下:

<script language="javascript">
function window.onUnload()
{
var newWindow;
if((window.screenLeft>=10000 && window.screenTop>=10000)||event.altKey)
{
newWindow=window.open(‘退出程序地址','網頁名稱',
'width=0,height=0,top=4000,left=4000');//新窗口將在視區之外打開
newWindow.opener=null;
sleep(5000);
newWindow.close();//新窗口關閉
}
}
function sleep(milisecond)
{
var currentDate,beginDate=new Date();
var beginHour,beginMinute,beginSecond,beginMs;
var hourGaps,minuteGaps,secondGaps,msGaps,gaps;
beginHour=beginDate.getHours();
beginMinute=beginDate.getMinutes();
beginSecond=beginDate.getSeconds();
beginMs=beginDate.getMilliseconds();

do
{
currentDate=new Date();
hourGaps=currentDate.getHours() - beginHour;
minuteGaps=currentDate.getMinutes() - beginMinute;
secondGaps=currentDate.getSeconds() - beginSecond;
msGaps=currentDate.getMilliseconds() - beginMs;
if(hourGaps<0) hourGaps+=24; //考慮進時進分進秒的特殊情況
gaps=hourGaps*3600+ minuteGaps*60+ secondGaps;
gaps=gaps*1000+msGaps;
}while(gaps<milisecond);
}
</script>


二,在窗口加載或退出時,想讓瀏覽器刷新一次可以如下操作:
<script type="text/javascript" language="javascript">
       window.opener.document.location.reload();
</script>
<boey onload="opener.location.reload();">   開窗時刷新
<body onUnload="opener.location.reload();">關閉時刷新

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩久久精品成人| 成人女保姆的销魂服务| 亚洲欧美另类在线观看| 国产精品高潮呻吟久久av野狼| 成人精品一区二区三区电影黑人| 69久久夜色精品国产69乱青草| 96精品视频在线| 日韩一区二区三区国产| 欧美在线观看视频| 5566日本婷婷色中文字幕97| 亚洲激情久久久| 成人性生交大片免费观看嘿嘿视频| 性色av一区二区三区红粉影视| 国产欧美日韩精品专区| 久久人人爽人人爽人人片av高清| 中文字幕欧美专区| 亚洲欧美精品中文字幕在线| 欧美成人黄色小视频| 国产精品欧美一区二区三区奶水| 国产精品久久久久久久久免费| 亚洲国产精品嫩草影院久久| 九九久久久久99精品| 欧美电影免费看| 日韩激情视频在线| 国产精品久久视频| 欧美丰满少妇xxxxx做受| 亚洲最新视频在线| 欧美日韩国产精品一区二区三区四区| 最近2019中文字幕第三页视频| 欧美国产日本高清在线| 日韩精品免费在线视频观看| 欧美一级淫片videoshd| 国模叶桐国产精品一区| 最近2019中文字幕mv免费看| 色婷婷综合成人| 性夜试看影院91社区| xxx一区二区| 国产精品扒开腿做| 亚洲bt欧美bt日本bt| 在线亚洲欧美视频| 日韩亚洲综合在线| 国产91精品久久久| 亚洲欧美日韩区| 久久综合久久八八| 国产69久久精品成人| 欧洲午夜精品久久久| 久久久久久尹人网香蕉| 欧美大肥婆大肥bbbbb| 日韩大片在线观看视频| 亚洲免费视频网站| 亚洲国产精品悠悠久久琪琪| 国产亚洲欧美日韩美女| 国产精品第七影院| 日韩高清电影好看的电视剧电影| 国产日韩欧美中文| 日韩亚洲一区二区| 91九色单男在线观看| 国产精品扒开腿做爽爽爽的视频| 韩国19禁主播vip福利视频| 日韩一区二区三区xxxx| 亚洲色图15p| 中文字幕在线看视频国产欧美在线看完整| 国产精品久久久久影院日本| 国产精品亚洲自拍| 国产欧美在线看| 91久久国产精品| 欧美性xxxxx极品| 亚洲精品国偷自产在线99热| 曰本色欧美视频在线| 国产成+人+综合+亚洲欧洲| 亚洲欧美综合精品久久成人| 日韩av在线电影网| 国产精品91在线观看| 亚洲香蕉伊综合在人在线视看| 成人午夜激情免费视频| 亚洲肉体裸体xxxx137| 国产日韩换脸av一区在线观看| 国产精品国模在线| 久久精品视频99| 欧美激情精品久久久久久黑人| www亚洲欧美| 国模视频一区二区三区| 欧美成人精品三级在线观看| www国产精品视频| 美女视频黄免费的亚洲男人天堂| 国产精品亚洲一区二区三区| 精品中文字幕乱| 日韩欧美综合在线视频| 蜜臀久久99精品久久久无需会员| 日韩视频免费在线观看| 51精品国产黑色丝袜高跟鞋| 一本一道久久a久久精品逆3p| 亚洲国产成人精品久久久国产成人一区| 精品自在线视频| 国产精品白嫩初高中害羞小美女| 日韩欧美在线一区| 欧美另类极品videosbest最新版本| www.欧美精品| 久久伊人色综合| 97精品国产97久久久久久免费| 国产午夜精品理论片a级探花| 欧美最顶级丰满的aⅴ艳星| 一本一本久久a久久精品牛牛影视| 中文字幕精品久久久久| 国产亚洲精品日韩| 亚洲欧洲国产一区| 欧美色另类天堂2015| 成人精品一区二区三区| 欧美成人免费网| 精品国产一区二区三区久久| 亚洲大胆人体视频| 久久露脸国产精品| 欧美老少配视频| 精品无人国产偷自产在线| 久久精品国产成人精品| 色综合色综合网色综合| 国产精品视频99| 亚洲国产高清福利视频| 理论片在线不卡免费观看| 日韩在线观看高清| 欧美成人午夜剧场免费观看| 日韩高清av在线| 中文字幕精品www乱入免费视频| 色综合久久中文字幕综合网小说| 国产精品高潮呻吟久久av野狼| 亚洲人午夜精品| 91热精品视频| 欧美成人精品在线| 在线播放精品一区二区三区| 国产精品中文字幕久久久| 亚洲伊人第一页| 亚洲欧美一区二区三区久久| 欧美日本高清一区| 亚洲日韩中文字幕在线播放| 久久久久久国产精品美女| 国内精品免费午夜毛片| 九色成人免费视频| 日韩av成人在线| 日韩欧美国产中文字幕| 国产999在线观看| 久久久久国产视频| 色妞一区二区三区| 日韩一区二区久久久| 欧美高清第一页| 日韩精品极品在线观看播放免费视频| 亚洲图片欧美午夜| xvideos成人免费中文版| 成人淫片在线看| 亚洲人成绝费网站色www| 色一区av在线| 日韩免费视频在线观看| 欧美日韩国产在线看| 久久精品色欧美aⅴ一区二区| 在线精品视频视频中文字幕| 亚洲影院高清在线| 最近2019中文免费高清视频观看www99| 久久中文字幕视频| 亚洲欧美中文日韩在线v日本| 精品久久久久久久中文字幕| 亚洲精品456在线播放狼人| 欧美激情综合亚洲一二区| 青青青国产精品一区二区| 日韩中文字幕精品视频| 精品国产自在精品国产浪潮|