LMS知識社群各系上網率圖資處首頁登入
位置: 鄭光盛 > 技術 > Dotnet
ASP.NET偵測快顯視窗被封鎖範例
by 鄭光盛 2013-10-22 08:45:33, 回應(0), 人氣(3415)
因為 user 的電腦
出現瀏覽器阻擋快顯視窗的問題
所以去找了一段偵測瀏覽器是否封鎖快顯的程式

原理: Popup 一個視窗,若是失敗就顯現 alert 警告 User
程式:

<script>
    function isPopOpen(obj) {
        if (obj == null) alert("快顯被封鎖!請先關閉快顯封鎖功能或洽技術人員!");
    }
    setTimeout("isPopOpen(window.open('TestPopupWin.aspx'))",1000);
</script>

然後去加一支名叫 TestPopupWin.aspx的程式。
Code behind的內容如下

public partial class TestPopupWin : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            CloseThisPage(sender,e);
        }
        protected void CloseThisPage(object sender, EventArgs e)
        {
            try
            {
                Response.Write(@"<script language='javascript'>window.opener=null;window.open("""",""_self"");window.close(); </script>");
}
            catch (Exception err)
            { throw err; }
        }
    }

就是讓他試開完就自己關掉
這樣,就可以測出是否關閉快顯了

至於,幫麻瓜 ㄜˇ…講錯,是幫 USER 解除快顯封鎖。
是駭客行為,不在此討論!
標籤: .NET