최선의 방법은 무엇일 자동으로 리디렉션가 누군가를 다른 웹 페이지?

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

  •  03-07-2019
  •  | 
  •  

문제

나는 배운 적이 자바스크립트,하지만 나는 상상 이것은 아주 간단한 문제입니다.단지 알고 싶어하는 방법입니다 가장 좋습니다 이러한 일입니다.

도움이 되었습니까?

해결책

// use this to avoid redirects when a user clicks "back" in their browser
window.location.replace('http://somewhereelse.com');

// use this to redirect, a back button call will trigger the redirection again
window.location.href = "http://somewhereelse.com";

// given for completeness, essentially an alias to window.location.href
window.location = "http://somewhereelse.com";

편집하다: 더 나은 답변을 게시 한 사용자가 남겨진 것처럼 보이므로 여기서 그의 답변을 위로했습니다.

다른 팁

는 가장 좋습니다?하지 않습니다. HTTP far 에 더 적합하여 작업 보다 자바 스크립트(검색 엔진은 그들을 따르십시오,당신은 당신할 수 있는 경우 그것은 영구적 또는지,그들은 빠른,etc.).

실패는...

당신이 원하는 경우에는 즉시 리다이렉:

window.location.replace('http://example.com/');

이를 대체 현재의 URI 가진 새로운 URI 브라우저에서 역사,그 뒤로 버튼 바에서 사용자는 페이지로 앞으로 그들을 다시합니다.

지 않으면 정말로 원하는 리다이렉션만을 보낼 사용자가 어딘가에 대응하여 이벤트:

window.location.href = 'http://example.com/';

기억을 자바스크립트가 아닌 대체입니다.링크는 일반적으로 최고의 옵션이지만,그것은에 의존하지 않습니다 context.

시간 지연 리디렉션은 더 나쁜 생각이 아니다.만 사용하는 이유 그들은 당신이 원하는 메시지를 표시하려면 사용자와 사용자가 읽은 것 서로 다른 속도로(그리고 그들에 앉아 또 다른 탭을 하는 동안 그들은 뭔가 다른 사람).는 경우는 중요한 메일을 표시하기에 충분한 다음,그것이 있어야만큼 중요한을 떠날 때까지 화면 사용자는 그것을 읽고 링크를 클릭하여 다음 페이지로 이동합니다.

JavaScript를 사용하여 페이지를 리디렉션 할 때 기억해야 할 중요한 사항 중 하나는 항상 비 JavaScript 리디렉션을 제공하는 것입니다! 링크가 수행하거나 더 나은 a <META> 예를 들어 태그 : <meta http-equiv="refresh" content="2;url=http://example.com">

요즘 가장 권장되는 방법은 JavaScript를하지 마십시오 (또는 메타) 리디렉션. 정말로 필요합니까? 대신 리디렉션 HTTP 헤더를 사용할 수 있습니까?

W3C의 웹 컨텐츠 접근성 가이드 라인 (7.4)은 대부분의 웹 브라우저가 사용자가 새로 고침 속도를 비활성화하거나 제어 할 수 없으므로 자동 재시험 페이지의 생성을 방해하지 않습니다.

Another way to do it with local files is by doing this

<script type="text/javascript">
function Redirect(){
  window.location.href = ("https://example.com");
}
document.write("Please wait you will be redirected in 10sec");
setTimeout('Redirect(), 10000);
</script>

<!-- begin snippet: js hide: false console: true babel: false -->

<script type="text/javascript">
function Redirect(){
  window.location.href = ("https://example.com");
}
document.write("Please wait you will be redirected in 10sec");
setTimeout('Redirect(), 10000);
</script>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top