2012-11-27 217 views
0

在我的應用程序中有一個選項卡啓動新應用程序,其中有4個鏈接。當我點擊任何鏈接時,一個子窗口打開。假設我從該鏈接打開了2個子窗口。現在我再次點擊開始新的應用程序,然後從鏈接打開其他3個子窗口。現在當我只註銷父窗口並且最後打開的3個子窗口關閉時,並且之前打開的2個子窗口未關閉。我希望他們關閉刷新父窗口時子窗口未關閉

從那裏子窗口被打開我的代碼是 如果(rowData.productVersion == 「1001」){

     childWindow[childWindow.length]=is1001Opened=window.open('/eApps/layout/multipleAppPage.jsp?windowID='+windowID+'&newTitle='+rowData.productCode+'&paramTemp='+uri_encode); 
        }else{ 

         childWindow[childWindow.length]=window.open('/eApps/layout/multipleAppPage.jsp?windowID='+windowID+'&newTitle='+rowData.productCode+'&paramTemp='+uri_encode); 
        } 

我的註銷代碼

{ 
    $('#'+id).click(function(event){ 
     event.preventDefault(); 
     $('#centerContent').load('<%=request.getContextPath()%>/'+target); 
    }); 
} else { 
    $('#'+id).click(function(event){ 
     event.preventDefault(); 
     var r=confirm("logout"); 
     if (r==true) { 
      for (var i=0;i<childWindow.length;i++) { 
       if (childWindow[i] && !childWindow[i].closed) 
        childWindow[i].close(); 
      } 
      window.close(); 
     } 
    }); 
} 
+1

我編輯了自己的代碼,但沒有'if'條件(在你的代碼的開頭):請你補充一下嗎?如果你評論你的代碼會很好(只是一點,但是當你在代碼中解釋的時候更容易理解,特別是變量'childWindow'的來源)...... –

+0

'但是如果我移動到一些父母窗口中的其他鏈接「,你究竟是什麼意思?你的意思是用另一個URL加載另一個頁面?如果是這樣,那麼當然你不能關閉第一頁打開的窗口,第二頁不知道它。 –

+0

在我的應用程序中有一個標籤開始新應用程序,其中有4個鏈接。當我點擊任何鏈接時,一個子窗口打開。假設我從該鏈接打開了2個子窗口。現在我再次點擊開始新的應用程序,然後從鏈接打開其他3個子窗口。現在當我只註銷父窗口並且最後打開的3個子窗口關閉時,並且之前打開的2個子窗口未關閉。我希望他們關閉 –

回答

0

我已經解決了這個問題。

早些時候我宣佈變量

    var childWindow= new Array(); 

現在我所做的靜態變量

  var childWindow; 
      if (typeof childWindow!="object") 
      childWindow= new Array();