2
有沒有一種方法可以檢測何時在模態對話框中加載頁面?比如當你調用window.showModalDialog()時。在javascript中檢測模態對話框
一點背景:我試圖避開出現在模態對話框登錄頁面的表單驗證問題,隨後該網站的其他部分時,在用戶登錄
任何想法?
有沒有一種方法可以檢測何時在模態對話框中加載頁面?比如當你調用window.showModalDialog()時。在javascript中檢測模態對話框
一點背景:我試圖避開出現在模態對話框登錄頁面的表單驗證問題,隨後該網站的其他部分時,在用戶登錄
任何想法?
對於window.open,您可以檢查您目前所在的頁面是否有父級。
function parentExists(){
return (window.opener != null)? true : false;
}
當您的登錄頁面加載時調用此函數。如果它返回true,那麼你在一個彈出窗口(或模態)。然後你可以關閉頁面並重定向父頁面。
這對模態盒子來說有點棘手,因爲你沒有訪問開啓者的權限。首先,確保所有模式箱子被打開與此類似:
window.showModalDialog('test.htm', self, <optional options>);
這將確保東西被傳遞到窗口的arguements。
現在添加您的登錄頁面上下面的代碼:
function parentExists()
{
var opener = window.dialogArguments;
return (opener == null)?false:true;
}
編輯:添加
帖子顯然留在這裏是有原因的模態盒信息,所以這裏是我的2分錢小費...... 我也試圖確定一個頁面是否已被加載爲模式對話框(很像這裏展示的:http://help.dottoro.com/ljdlgxbu.php) 但我無法模仿該功能,所以也試圖檢查window.opener是否爲null,雖然這是有效的,但如果點擊一個鏈接將它指向你的鏈接,它也會返回true子頁面。所以對我來說,這並不能解決問題。 2cents結束。 – 2013-07-24 10:46:53