2011-11-15 3 views
5

포틀릿이 포함 된 동일한 페이지가 두 개의 브라우저 탭에서 열리는 경우 첫 번째 페이지의 이벤트와 두 번째 페이지의 구별은 어떻게됩니까?Liferay 포틀릿에서 이벤트 발생

각 이벤트에 대해 고유 한 ID를 할당하고 저장하고 URL에 추가하여 링크를 공유 할 수 있습니다.

누군가가 이것에 대해 생각해 볼 수 있습니까?

또한 페이지 URL을 다른 컴퓨터에서 열면 페이지에 표시된 데이터가 첫 번째 컴퓨터에서 볼 수있는 데이터와 동일합니다. 이것은 전 세계적으로 설정되고 있습니다.

어떻게 이것을 없앨 수 있습니까?

+0

답을 찾았습니까? 감사 –

답변

1

JSR-286 (latest Java Portlet Specification)은 서버 측과 클라이언트 측 IPC (Inter Portlet Communication)를 정의합니다. Liferay 구현의 경우에는 herehere으로 잘 설명됩니다.

첫 번째 질문 : 포틀릿을 포함하는 동일한 페이지가 두 브라우저 탭에 열려있는 경우 포틀릿 응용 프로그램에서

, 어떻게 두 번째 페이지에서 첫 번째 페이지에서 이벤트가 구별된다?

  • 클라이언트 측 IPC : 화재와 자바 스크립트 두 개의 서로 다른 브라우저 탭과 이벤트을 Liferay를들을 수 없습니다. 그래서 그들은 자동적으로 구별 될 것입니다. 그러나 쿠키 기반 접근법을 사용하여 구현할 수 있습니다 (관심있는 경우 here 참조)
  • 서버 측 IPC : 서버 측 IPC를 사용하여 다른 클라이언트 창간에 데이터를 공유 할 수 있습니다 (위의 Liferay 링크 참조).
두 번째 질문) 예제 :

나는, 각 이벤트에 고유 한 ID를 할당을 저장하고 링크를 공유 할 수 있도록 URL에 추가하고 싶습니다. 누군가가 이것에 대한 생각을 할 수 있습니까?

  • 좋은 생각입니다. 일반적인 구현은 url Fragment Identifier (hash)을 사용하여 URL에 상태를 저장하는 것입니다. 페이지 URL이 다른 컴퓨터에있는 페이지에 표시된 데이터를 연 최초의 컴퓨터에서 볼 수있는 데이터와 동일한 경우 즉, 또한 JQuery BBQ

이다위한 준비 JQuery와 구현을 사용합니다. 이것은 전 세계적으로 설정되고 있습니다. 어떻게 이것을 제거 할 수 있습니까? 난 당신이 동일한을 Liferay 사용자 계정의 얘기 겠지

  • 는 (그렇지 않으면을 Liferay 역할, 사용자, 그룹, 사용자 그룹 또는 조직 범위의 데이터에 가능하다). 동일한 사용자에 대해 서로 다른 컴퓨터간에 데이터를 구별하기 위해 클라이언트 컴퓨터에 대한 상태 정보와 함께 포털 쿠키를 저장하고 다시 전달할 수 있습니다. Liferay에서 쿠키를 설정하는 방법은 here을 참조하십시오.