2016-06-08 67 views
0

我想打開一個新頁面,然後關注新窗口。打開新窗口光標後,我的意思是關注前一個窗口。我必須通過範圍變量傳遞值,所以我需要打開一個新窗口的焦點:)。在XPages中的SSJS中的openNewWindow

請在下面找到我想要的。

<xp:link escape="true" text="Statement" id="link51" 
       styleClass="linkNew" target="_blank"> 

       <xp:eventHandler event="onclick" submit="true" 
        refreshMode="complete"> 
        <xp:this.action><![CDATA[#{javascript:try 
{ 
    sessionScope.type1="Customer1"; 
    view.postScript("var tempwindow = window.open('xspFrmStatementA.xsp?action=newDocument', '_blank'); tempwindow.focus();"); 
} 
catch(e) 
{ 
    e.toString(); 
} 
}]]></xp:this.action> 
       </xp:eventHandler> 
      </xp:link> 

回答

1

我不太確定我完全理解這個問題嗎?如果使用範圍變量,則不需要提供窗口焦點。

如果您設置了一個sessionScope變量,它將在您的會話期間隨時隨地爲您提供,您只需要小心在其他地方寫入其值。

您可以使用requestScope,它將從一個xpage發送一個請求,並獲得對具有相同請求範圍變量名稱的另一個xpage的一個響應。

我可能是完全錯誤的與我的建議,但,像我所說,我不知道我完全理解你想達到什麼.....

0

當您打開與目標的鏈接= _blank瀏覽器遵循該鏈接,所以你實際上不需要做任何事情。您只需指定目標網址。 我建議不要使用會話變量 - 如果用戶打開多個窗口,可能會產生不希望的效果。而是在url中使用一個參數,該參數將特定於該窗口。

我個人並不喜歡應用程序決定彈出一個新窗口(我寧願選擇標籤)。如果我想在新窗口中打開鏈接,請按住Shift並單擊。如果第二個窗口取決於父級,請考慮一個對話框或取消隱藏某些控制