2009-03-19 3 views

답변

2

HTTP 리디렉션 :

  • 장점 : 당신은 사용자의 활동을 기록 할 수 있습니다.
  • 단점 : 사용자가 효과적으로 리디렉션 될 때까지 한 번의 추가 처리가 반복됩니다.

자바 스크립트 리디렉션 :

  • 장점 : 사용자가 즉시
  • 단점 리디렉션됩니다 : 당신이 AJAX를 사용하지 않는 한, 사용자의 활동을 기록 할 수 없습니다; 사용자가 JavaScript를 사용할 수 없게되면 리디렉션되지 않습니다.

이 경우이 문제를 해결하기 위해 Unobtrusive JavaScript을 사용하는 경향이 있습니다. JavaScript가 활성화되어 있지 않은 것처럼 코드합니다 (즉, 양식을 게시하는 '이동'버튼). 그런 다음 페이지가로드 된 후 Javascript가 해당 버튼을 숨기고 선택 기능에 변경 기능을 추가 한 다음 AJAX 요청을 보내 활동을 기록합니다.

같은 것을 할 때

+0

+1 이제 js 접근 방식에 대한 대체 이름이 있습니다. (필자는 : P라고 생각합니다.) 말하자면, 양식을 설정하여 페이지에 직접 들어가서 페이지로 직접 이동하는 것이 좋습니다.) – eglasius

2

, 당신은 둘 다 할 수 있습니다 :

  • 대상 페이지로 바로 가리키는 GET으로 구성 형태를 보유하고 있습니다.
  • js가 지원되면 값을 선택할 때 "제출"을 호출하게하십시오. 접근 방식은 위의 대상 페이지로 직접 이동 : 더 JS가 지원되지 않는 경우에는 선택/이동/열기 버튼은 사용자가 여전히 응용 프로그램

주와 함께 작동 할 수 있도록 표시되어야합니다. 이는 처리해야 할 추가 요청으로 인해 서버에서 리디렉션을 보내는 것과는 달리 작업에 추가 지연과 서버에서 처리해야하는 추가 요청을 추가합니다. 이것은 탐색 시나리오이므로 서버 측에 갈 필요가 없습니다 (최소한 특정 추가 요구 사항이없는 경우).

1

조심 당신이 두 세계 :)의 최선을 얻을 방법 :

<select id="test" onchange="doAction();"> 
    <option value='http://...'>...</option> 
    <option value='http://...'>...</option> 
    <option value='http://...'>...</option> 
    <option value='http://...'>...</option> 
</select> 

<script type="text/javascript"> 
function doACtion() { 
    window.location = document.getElementById('test'); 
} 
</script> 

이 IE의 사용자가 매우 빈약 한 접근성과 선택을 탐색하려고했습니다 자신의 키보드가 의도하지 않은 동작을 트리거합니다. 특히 장애가있는 사용자는 리디렉션을 시도하는 것처럼 첫 번째 옵션 이외의 다른 방법으로는 액세스 할 수 없습니다.