제품 목록 (색인보기)이 있고 제품을 클릭하면 라이트 박스가 열립니다 (보기 표시). 이제 사용자가 라이트 박스를 닫을 때, 나는 그의 페이지로 돌아가고 싶다. 문제는 Lightbox가 여러 곳에서 열릴 수 있다는 것입니다. 가장 좋은 예제를 통해 보여 것 :Backbone.js - 컨트롤러 기능의 참조 리퍼러
제품 "푸"는 3 개의 다른 페이지에 나타납니다
/ (the home page)
/tag/bar (all products tagged with "bar")
/tag/baz/page-3 (all products tagged with "baz", paginated)
지금 내가 어디 라이트 박스 닫을 때 사용자를 리디렉션하는 결정해야합니다. 이 단계에서 라이트 박스가 열리는 페이지에 대한 정보는 없습니다.
그래서 라이트 박스를 열 때 (표시보기 렌더링) "returnTo"경로를 저장하는 것으로 나타났습니다. 해시 변경에 의해 트리거되고 쇼보기를 렌더링하는 컨트롤러 함수에서 나는 어떤 "참조 자"정보에도 접근 할 수 없습니다.
해시 변경을 트리거 한 페이지를 볼 수있는 방법이 있습니까? 또는이 문제를 해결할 더 좋은 방법이 있습니까?
모든 제안 사항에 감사드립니다. :)
편집 :
나는 쿠키를 설정하여 문제를 해결했다. 쿠키는 인덱스 사이트 (위에서 언급 한 세 가지 중 하나 일 수 있음)를 방문 할 때마다 설정됩니다. 그런 다음 라이트 박스가 닫히면 사용자는 마지막으로 연 인덱스 사이트 인 쿠키 값으로 리디렉션됩니다. 백 보니 (backbone.js)에 내장 된 방법이 있다면 어떻게해서든지 기억을 "기억"할 수 있다면 좋을 것입니다. 줄리앙 (Julien)은 이러한 기능을 추가하는 것이 가능할 수도 있다는 의견에 언급했습니다.
기다리는 동안 라이트 박스를 사용하고 있으며 사용자가 페이지를 닫으면 페이지가 다시로드됩니까? 왜? 그는 이미 페이지에 있지 않습니까? 라이트 박스는 자바 스크립트에서 생성 된 DIV이며 콘텐츠의 나머지 부분 위에 z 인덱싱됩니까? 다 끝났을 때 DIV를 추방 할 수 없으며 사용자가 사업을 다시 시작하도록 할 수 있습니까? –
그게 내가 추측하고있는 것이지만 해시 위치로 접근한다. – Julien
아니요, 라이트 뷰가 닫힐 때 인덱스 뷰를 다시 렌더링해야합니다. 사용자가 뷰 뷰에 직접 왔을 수 있습니다. 즉, 인덱스 뷰가 아직 제대로 렌더링되지 않았 음을 의미합니다. –