모범 사례:브라우저와 웹사이트 탐색의 동시성을 처리하는 방법

StackOverflow https://stackoverflow.com/questions/77645

  •  09-06-2019
  •  | 
  •  

문제

모든 웹 개발자에게 잘 알려진 문제입니다.이 문제에 대한 좋은 해결책을 찾으려고 노력한 한 아무것도 없었습니다 (또는 적어도 찾을 수 없었습니다).

다음을 가정해 보겠습니다.

사용자가 예상한 대로 행동하지 않습니다. 제가 작업하고 있는 실제 프로젝트에서는 웹 포털 내의 탐색 기능을 사용합니다.그러나 사용자가 브라우저의 뒤로 버튼을 사용하면 모든 것이 위험[?]이 되고 결과가 항상 예측 가능한 것은 아닙니다.

우리는 struts 프레임워크를 사용하고 back-url을 양식에 저장했습니다. 일부 장소에서는 back-url이 필요했습니다. 이는 이 양식의 back-url에서 렌더링되었습니다.왜냐하면 이 정보에 대한 단일 필드만 있었기 때문에 여러 단계로 돌아갈 수 없었기 때문입니다.

"struts-flow"를 변경하면 - 결과적으로 다른 형태 - 이 정보는 손실됩니다.

사용자가 감히 서표 웹앱 어딘가에 - 이 정보는 결코 설정되지 않았을 수 있으며 결과는 다시 예측할 수 없거나 충분히 유연하지 않을 것입니다!

내 "솔루션":

나는 사용자가 방문한 모든 탐색 관련 페이지를 스택형 에 저장 세션.이는 나중에 탐색할 수 있도록 탐색 경로가 수집되고 저장된다는 의미입니다.

뒤로 탐색이 포함된 웹앱 내의 모든 페이지에서 스택 콘텐츠를 URL로 렌더링하는 자체 제작 태그를 사용했습니다.

그리고 그게 다야.이 백 URL을 클릭하면 스택은 사용자가 클릭한 백 URL의 콘텐츠로 채워집니다(백 링크가 렌더링된 후 스택의 모든 정보를 보유함).

링크 클릭은 웹 개발자가 정확히 알고 있는 명확한 상태이기 때문에 이는 매우 분명합니다. 즉, 사용자가 이전에 수행한 모든 작업(예:브라우저 뒤로 버튼을 여러 번 누르기).그런 다음 탐색 스택은 이 새로운 상태를 기반으로 구축됩니다.

재개하다:이것이 최선의 해결책이 아니라는 것은 분명해졌습니다.그러나 페이지 매개변수 및 기타 유용한 항목과 같은 추가 정보를 스택에 저장할 수 있습니다(추가 개발 가능).

그렇다면 이 문제에 대한 해결책은 무엇이었나요?

건배,

마나

도움이 되었습니까?

해결책

스택 솔루션은 흥미로워 보이지만 사용자가 다른 탭에서 "병렬"로 탐색하거나 북마크를 사용하도록 선택하면 중단될 수 있습니다.

유감스럽게도 각 사용자에 대해 이 모든 상태를 유지해야 하는 이유를 잘 이해하지 못합니다.이상적으로 웹은 다음을 따라야 합니다. REST 원칙 완전히 무국적자여야 합니다.따라서 단일 URL은 각 사용자의 탐색 기록을 유지할 필요 없이 단일 리소스를 식별해야 합니다.

웹 앱이 AJAX에 크게 의존하는 경우 인터페이스의 각 변경 사항이 페이지 URL의 변경 사항에 반영되는 GMail과 같은 것을 구현하려고 시도할 수 있습니다(물론 쉽지는 않습니다...).따라서 각 페이지는 현재 URL로 식별되며 사용자는 동시에 탐색하거나 평소처럼 뒤로 버튼을 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top