선택 상자 탐색기를 수행하고 있는데 자바 스크립트 리디렉션을 수행하거나 양식을 제출하고 거기에서 리디렉션하는 것이 더 나은지 궁금합니다. 찬성과 반대? 당신이 목록의 항목을 선택하여 이동 같은 것을 의미하는 경우Javascript 리디렉션 또는 양식 제출이 더 좋습니다?
1
A
답변
2
HTTP 리디렉션 :
- 장점 : 당신은 사용자의 활동을 기록 할 수 있습니다.
- 단점 : 사용자가 효과적으로 리디렉션 될 때까지 한 번의 추가 처리가 반복됩니다.
자바 스크립트 리디렉션 :
- 장점 : 사용자가 즉시
- 단점 리디렉션됩니다 : 당신이 AJAX를 사용하지 않는 한, 사용자의 활동을 기록 할 수 없습니다; 사용자가 JavaScript를 사용할 수 없게되면 리디렉션되지 않습니다.
이 경우이 문제를 해결하기 위해 Unobtrusive JavaScript을 사용하는 경향이 있습니다. JavaScript가 활성화되어 있지 않은 것처럼 코드합니다 (즉, 양식을 게시하는 '이동'버튼). 그런 다음 페이지가로드 된 후 Javascript가 해당 버튼을 숨기고 선택 기능에 변경 기능을 추가 한 다음 AJAX 요청을 보내 활동을 기록합니다.
같은 것을 할 때
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의 사용자가 매우 빈약 한 접근성과 선택을 탐색하려고했습니다 자신의 키보드가 의도하지 않은 동작을 트리거합니다. 특히 장애가있는 사용자는 리디렉션을 시도하는 것처럼 첫 번째 옵션 이외의 다른 방법으로는 액세스 할 수 없습니다.
+1 이제 js 접근 방식에 대한 대체 이름이 있습니다. (필자는 : P라고 생각합니다.) 말하자면, 양식을 설정하여 페이지에 직접 들어가서 페이지로 직접 이동하는 것이 좋습니다.) – eglasius