2016-06-08 2 views
0

새 페이지를 열고 새 창에 포커스를 맞추고 싶습니다. 새 창 커서를 열면 이전 창에 초점을 맞 춥니 다. 범위 변수를 통해 값을 전송해야하므로 포커스를 새 창에 열어야합니다 :).openNewWindow in SSages in XPages

아래에서 시도한 내용을 찾으십시오.

<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

당신이 타겟 링크를 열 = 브라우저를 블랭크로 연결하면 아무 것도 할 필요가 없습니다. 대상 URL을 지정하기 만하면됩니다. 세션 변수를 사용하지 않는 것이 좋습니다. 사용자가 여러 창을 열면 원하지 않는 결과가 발생할 수 있습니다. 오히려 하나의 창과 관련된 URL의 매개 변수를 사용하십시오.

개인적으로 응용 프로그램에서 새 창을 열어보기로 결정할 때 (나는 어쨌든 탭을 선호 함) 개인적으로 좋아하지 않습니다. 새 창에서 링크를 열려면 Shift 키를 누른 채 클릭하십시오. 두 번째 창이 부모에 의존하는 경우 대화 상자를 고려하거나 일부 컨트롤 숨기기 취소