2015-08-20 113 views
-1

我的場景是這樣的。用於UI端的技術是SmartGwt。 在我的應用程序中,按鈕Onclick打開一個彈出窗口,然後彈出窗口加載了來自跨域url的html內容。 我沒有在彈出窗口中出現的html代碼中彈出窗口引用。如何關閉未被腳本打開的窗口/彈出框

我在彈出窗口的html裏面有關閉按鈕。關閉按鈕的Onclick,窗口應該關閉。

目前沒有發生。我嘗試使用window.close()方法以及window.postmessage實現。沒有任何工作。

當腳本未打開窗口時,如何關閉彈出窗口?

任何想法?

+0

你試過綁定'window.open('','_ self')。close();'在你的關閉按鈕'onclick'上? – sander

+0

@ebilgin多數民衆贊成在 – yogish

+0

@sander我試過了..在這裏,我打開彈出窗口通過我的應用程序。彈出窗口中的內容來自其他域,我無法控制。當我嘗試使用窗口訪問彈出窗口時。父母,我得到這個例外「阻止與起源的框架...........」 – yogish

回答

0

在父頁面中使用此代碼。

/*For closing the popups from inside close button*/ 
    closeDialog = function() { 
     $("#dialog").dialog("close"); 
    } 

在子頁面中使用此代碼。

jQuery(function() { 

     jQuery("#btnClose").click(function() { 
      parent.closePopup(); 
     }); 
    }); 
0

我對SmartGwt並不十分熟悉,只要您沒有提供代碼或html示例,我的建議就會更一般化。

所以,你的代碼看起來應該可以:

... 
    var popUp=window.open(/*arguments*/); // open the window 
    ... 
    popUp.close(); // close the window 

或者您也可以換一個iframe一些div創建僞彈出窗口(和「開放」 /通過操縱iframe「關閉」它「 s src和包裝div的知名度),而不是打開/關閉實際的窗口。

相關問題