AJAX 및 브라우저의 뒤로 버튼
저는 www.darknovagames.com에서 브라우저 기반의 게임을 운영하고 있습니다.최근에는 사이트를 CSS로 재포맷하는 작업을 하고 있으며, HTML 규격에 따라 모든 페이지를 검증할 수 있도록 노력하고 있습니다.
왼쪽 AJAX에 있는 네비게이션메뉴를 (사용자가 매번 다른 페이지로 이동하여 제목과 네비게이션 바를 새로고침해야 하는 것이 아니라) 생각해 왔습니다.이렇게 하면 브라우저의 Forward/Back 버튼이 망가질 수 있다는 것을 알고 있습니다.질문입니다만, AJAX를 통해 사용자가 게임을 플레이하기 위해 사이트 내비게이션을 사용할지, 아니면 현재 사이트를 그대로 두고 표준 하이퍼링크 등을 사용하여 네비게이션을 수행할지 여부입니다.
제가 질문하는 이유는 제가 사이트에 포럼 시스템을 구축했기 때문입니다.또한 많은 경우 포럼 내의 특정 토픽에 say를 링크하고 싶기 때문입니다.
제안에도 응할 수 있습니다.사용자가 북마크 및 전송/백 등을 할 수 있도록 URL을 변경하면서 사이트의 본문 영역만 새로고침하는 표준 방법(기존 프레임 제외)이 있습니까?그것은 잠재적으로 내 문제도 해결할 수 있다.여기서 가장 좋은 해결책을 요구하는 것일 뿐이지 특정 질문에 대한 답은 아닙니다.^_^
감사해요.
전체 페이지가 아닌 업데이트해야 하는 부분에는 ajax를 사용합니다.그러기 위해서는 템플릿을 사용해야 합니다.
페이지의 다양한 상태 변경에 대해 뒤로 버튼을 유지할 경우 해당 버튼을 # achors와 조합하여 URL을 변경합니다(브라우저에서 다른 GET을 강제로 발행하지 않음).
예를 들어 gmail은 다음과 같습니다.
mail.google.com/ #message/message-1234
# 이후의 모든 것은 Ajax를 통해 발생한 페이지 상태 변경입니다.[뒤로(Back)]를 누르면 다시 받은 편지함으로 이동합니다(다른 브라우저 GET 없음).
AJAX 를 유효하게 하는 경우는, 사이트의 모든 중요한 페이지에 액세스 할 수 있는 URL 를 희생하지 말아 주세요.이것은 사람들이 이용할 수 있는 탐색 가능한 사이트의 중추이다.
모든 기능을 AJAX 콜과 콜백에 삽입하면 기본적으로 사용자가 원하는 기능 및 콘텐츠에 액세스할 수 있는 단일 경로를 사용자에게 강요하게 됩니다. 이는 웹의 작동 방식에 전혀 반하는 것입니다.사람들은 주소 표시줄과 뒤로 버튼에 의존합니다.사이트가 AJAX를 통해서만 업데이트되도록 모든 링크를 재정의하면 사용자가 사이트를 탐색하고 필요한 정보를 찾을 수 있는 기능이 제한됩니다.또, 유저가 검색한 정보를 공유할 수 없게 됩니다(그것이 요점입니다).
사용자의 사이트 마인드 맵에 대해 생각해 보십시오.홈 페이지를 통해 접속한 것을 알게 되면뭔가를 검색하여 게임 페이지에 접속하여 특정 게임을 플레이하기 시작합니다.이것이 사용자가 취한 네 가지 행동 단위입니다.각 페이지에 대해 몇 가지 더 작고 사소한 작업을 수행했을 수도 있습니다. 하지만 이것들이 주요 단위입니다.[뒤로(Back)]버튼을 클릭하면 원래 있던 경로로 돌아가게 됩니다.이러한 모든 페이지를 AJAX 콜을 통해 로드하는 경우 사용자의 기대와 달리 기능이 실행되는 사이트를 제공하는 것입니다.
사이트를 모든 중요한 기능(검색, 홈, 프로파일, 게임 등)으로 분류합니다.사이트의 내용에 따라 달라집니다.이러한 페이지에 링크하는 장소에서는, 통상의 링크와 정적 URL 를 사용해 주세요.
에이잭스 괜찮아요.하지만 그것의 기술은 언제 그것을 사용할지, 언제 사용하지 않을지를 아는 것이다.위에 스케치한 모델을 그대로 사용하시면 사용자분들이 좋아하실 겁니다.
정말 간단한 역사를 확인해 보세요.Wiki는 10개월째 갱신되지 않고 있습니다만, Ajax Experience 2008에 참가하고 있을 때 Brian Dillard의 프레젠테이션을 보았습니다.0.8 코드가 하드 드라이브에 있대요바라건대, 그것은 곧 다운로드가 될 것이다.
또 다른 솔루션:
JQuery & Mootools와 함께 일하는 것은 이 제품이 최고인 것 같습니다.
펑키한 Javascript 기술을 사용하여 이 문제를 해결하는 방법은 여러 가지가 있지만, 이 상황에서는 왜 AJAX를 사용하는지 의문을 가질 필요가 있다고 생각합니다.실제로 사용자가 사이트를 더 쉽게 사용할 수 있을까요?이것은 마치 당신이 그것을 사용하고 있는 것처럼 들립니다. 왜냐하면 당신은 그것이 멋지다고 생각하기 때문입니다(그 자체가 항상 나쁜 것은 아닙니다). 그것은 실제로 당신의 방문자들에게 어떤 가치도 더해주기 때문입니다.일반 웹 사이트에서 보면, 일반 하이퍼링크 문서는 거의 항상 기본 탐색에 적합합니다.그것은 사람들이 기대하는 것이며, 나는 당신이 어떤 멋진 기술에 근거해 그러한 예상을 깨고 다니는 것을 추천하지 않는다.
AJAX는 훌륭하고, 많은 훌륭한 일을 할 수 있게 해줍니다.웹 사이트 네비게이션을 변경하는 것은 그 중 하나가 아닙니다.
이 문제를 해결한 것은 훌륭하지만, AJAX를 도입하고, 이것에 대해서는 생각하지 않는 사이트가 많이 있습니다.
이 심플하고 가벼운 PathJS lib를 사용해 보세요.청취자를 앵커에 직접 바인드할 수 있습니다.
예:
Path.map("#/page").to(function(){
alert('page!');
});
AJAX는 설명하신 바와 같이 내비게이션에 최적인 솔루션이 아닙니다.브라우저의 내비게이션 UI를 망가뜨리는 번거로움에 비해 헤더와 네비게이션 바를 새로고침할 때의 타격은 미미합니다.
AJAX의 보다 적절한 예는 사용자가 네비게이션 페인의 다른 콘텐츠 목록을 볼 수 있는 동안 메인 창에서 게임을 플레이할 수 있도록 하는 것입니다.게임 플레이를 방해하지 않고 AJAX를 통해 네비게이션 창에 추가 아이템을 로드할 수 있습니다.
난 간단한 하이퍼링크를 사용할 거야.당신의 페이지 가구는 HTML에서 큰 비중을 차지하지 않기 때문에 페이지 요청에서 제외해도 큰 이득이 되지 않습니다.각 자원을 주소 지정 가능한 것으로 하는 것(사용자가 관심을 가지는 컨텐츠의 각 비트의 URL)은, Web의 주요한 설계 기능입니다.이는 캐싱이 작동하며 사용자가 북마크를 공유할 수 있음을 의미합니다.그것은 소셜 북마크 사이트뿐만 아니라 구글도 작동하게 한다.
다음 페이지 변경에서 HTML 바이트를 몇 개 줄이는 것은 노력을 들일 가치가 없다고 생각합니다.
언급URL : https://stackoverflow.com/questions/163610/ajax-and-the-browser-back-button
'programing' 카테고리의 다른 글
Oracle에서의 뷰란? (0) | 2023.02.17 |
---|---|
반응의 공리에서 반응 상태를 설정하는 방법 (0) | 2023.02.17 |
테마의 템플릿 파일을 사용하도록 플러그인을 편집하는 방법 (0) | 2023.02.17 |
반응 + 웹 팩: 'process.env'가 정의되지 않았습니다. (0) | 2023.02.17 |
각도를 여러 번 로드하려고 했다. (0) | 2023.02.17 |