2012-04-27 122 views
3

從我的子窗口我試圖刷新父窗口。我嘗試了幾個js函數刷新或更改父窗口網址,而非他們給了我我需要的東西。從兒童更改窗口父網址不改變完成url

alert(window.opener.location.href); //gave null 

//all the functions bellow changed the url to 
// http://mydomain/www.google.com 
window.opener.location.assign("www.google.com"); 
window.opener.location.replace("www.google.com"); 
window.opener.location.href = "www.google.com"; 
window.opener.location = "www.google.com"; 

我也試過parent.location.href但沒有改變父網址。

有沒有一種方法可以將父url設置爲所需的url?或者只是讓它刷新頁面?任何想法?

編輯 我不能發佈示例代碼,因爲我在做什麼有點複雜。我使用一個調用新窗口(asp.net頁面)的salesforce按鈕。除了.aspx頁面以外,我沒有太多的訪問權限。它是我們購買的項目的編譯版本。在.aspx頁面中我試圖調用一個js函數,因爲我沒有訪問該頁面後面的代碼。一旦用戶按下(是或否),我的js函數應該刷新父頁面。

<cc1:ImageButton ID="btnNo" runat="server" OnClick="btnNo_Click" 
OnClientClick="pop()" Text="No" Width="40px" /> 



<script type="text/javascript" language="JavaScript"> 
    function pop(){ 

      window.opener.location.reload(true); 
      //window.opener.location.href = "www.google.com"; 

    } 

</script> 

回答

2

這應該工作:

window.opener.location.reload(false); 

編輯

根據您的意見,這聽起來像你違反Same Origin Policy

+0

它沒有工作! – raym0nd 2012-04-27 18:13:25

+0

@ raym0nd,嘗試傳遞重載函數'true'而不是'false'。這**是**重新加載父窗口的正確方式 – 2012-04-27 18:15:47

+0

那也沒用!我一直試圖找出最後一個小時沒有運氣。我幾乎嘗試了所有的js功能,但沒有運氣。 – raym0nd 2012-04-27 18:17:40