2012-12-06 36 views
1

我發現我的asp網站存在一個小問題。 這是原則。 - > 我設置了一個彈出窗口,允許用戶發送電子郵件提醒錯誤。當電子郵件發送時,我會發送用戶當前頁面的名稱。然而,這將返回我的彈出窗口的名稱,而不是父頁...如何檢索radwindow中「父」頁的名稱?

如何從radwindow(彈出)檢索「父」頁面的名稱頁('.aspx')?

我有嘗試這一點,但它不工作

回答

2

你可以嘗試:

//myWindow beeing the popup 
myWindow.document.write("<br><br>" + myWindow.opener.document.location.href + "") 

更新

如果您無法獲得彈出窗口對象,則可以在查詢字符串中傳遞調用窗口的URL:

radopen('urlOfThePopup.aspx?opener=' + document.location.href, ...) 

然後在你的代碼的彈出

<%=Request.Querystring("opener")%> 
+0

嘿謝謝你。但它不適合我。這會返回一個錯誤。我的「窗口」對象爲null。 –

+0

這是perfeeeect!謝謝 –

2

從彈出窗口的託管HTML中你可以用一段JavaScript代碼訪問託管頁面的DOM如下列:

<script> 
    alert(window.top.document.title); 
    </script> 

這將返回給你一個很好的警報框,其中包含了託管RadWindow的頁面的標題。

+0

非常感謝你!你的代碼工作正常。但是,他返回「標題」頁面,而不是帶有網址的頁面的「名稱」。完全像第一個迴應 –

1

假設你有一個RadWindow,而不是實際的瀏覽器彈出,這是代碼,你將需要:

// This is a common function when dealing with RadWindows and could be placed in some shared location 
function GetRadWindow() { 
    var oWindow = null; 
    if (window.radWindow) oWindow = window.radWindow; 
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; 
    return oWindow; 
} 

// Use it like this 
var parentTitle = GetRadWindow().BrowserWindow.document.title; 
+0

非常感謝你!你的代碼工作正常。但是,他返回「標題」頁面,而不是帶有網址的頁面的「名稱」。 –