2013-02-21 128 views
1

我必須解決一個問題,在我們的應用程序,如果打開子窗口和用戶點擊瀏覽器的後退按鈕,我需要重定向到頁面,詢問用戶名和密碼。
我們有400個aspx頁面,所以我只需要在母版頁中進行修改。我有一個像下面打開子窗口時如何點擊瀏覽器後退按鈕?

function initPage(){ 
    checkback(); 
} 

此功能是寫在外部JavaScript文件,並在母版頁中使用的代碼。
覈對功能包含的代碼像下面

if (document.forms[0].cprotection.value=='1') 
{ 

    document.forms[0].pagecode.value=0;  
    document.forms[0].act.value='backpressed'; 
    document.forms[0].submit() 
} 

上面的代碼工作正常的父窗口但如果我打開子窗口。
backpressed是關鍵字正在使用類文件檢查重定向到頁面,詢問用戶名和密碼。請幫我解決這個問題。在此先感謝

回答

0

當您加載子窗口時,您可以添加一個變量到會話,如果用戶單擊回來您將檢查會話以查看子窗口添加到會話的變量是否無論在哪裏頁面加載函數,如果它然後正常加載,如果它沒有重定向到登錄頁面。

+0

感謝您的回覆,我們因此在我們的應用中不使用Session變量使用Cookie會話。在Javascript中,我可以對此做任何修改或跟蹤您的解決方案的id。我也可以在代碼文件中獲得瀏覽器事件 – 2013-02-22 04:14:19

+0

@Rakesh B:這使事情變得複雜。只有使用JavaScript才能達到此目的,這似乎是跨界跨站點腳本編寫,大多數客戶端由於其黑客攻擊漏洞而被默認阻止。問題在於,當用戶點擊後退按鈕時,您使用JavaScript所做的任何更改都將被丟棄,因爲您基本上將從頭開始重新加載頁面。因此,如果不涉及某種服務器端代碼,我不知道如何處理這種情況。對不起,我無法提供更多幫助。 – 2013-02-22 18:29:07

+0

感謝您的建議,我會與我的面板說話,其實我們有480個aspx頁面包括子窗口,所以我們在JavaScript中做了要求,反正我會看到它。 – 2013-02-25 05:06:40

相關問題