2016-09-12 3 views
3

내 요구 사항은 새로 고침 아이콘 또는 Ctrl + R을 클릭하면 현재 페이지의 URL을 변경하는 것입니다. 그건 새로 고침에 다른 페이지 (다른 URL)를 다시로드하십시오. 그리고 모든 브라우저를 지원해야합니다. 나는 아래 스 니펫을 시도했다. 그러나 그것은 작동하지 않습니다.자바 스크립트를 사용하여 다시로드 할 때 현재 페이지의 URL을 변경하십시오.

window.onbeforeunload = function(e) { 
    window.location.href = 'www.google.com'; 
}; 

여기서 'google.com'은 현재 페이지를 새로 고치는 페이지의 URL이어야합니다. 하지만 창문으로 불만이 있습니다. @Babydead 상태로

+0

중복 되었습니까? http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page/3354511#3354511 – NoobishPro

+0

당신은 실제로 angularjs를 사용하고 있습니까? 왜냐하면 나만 자바 스크립트처럼 보이기 때문에 ... –

답변

1

,이 될 것으로 보인다 중복 : 짧은 솔루션을 찾고 있다면

Modify the URL without reloading the page

하지만, 단지 시도 :

window.location.replace("http://www.google.com"); 

하지 마십시오 프로토콜 "http"를 선언하는 것을 잊어 버리십시오.

+0

나는 이것을 시도했지만 작동하지 않는다. OP가이 작업을 새로 고치기를 원하기 때문에 제공된 복제본과 어떻게 관련이 있는지 잘 모릅니다. –

+0

죄송합니다. 저는 여러분 모두 잘못 생각하고 있습니다 ... 여러분이 정말로하고 싶은 것은 새로 고침, 뒤로 가기, 앞으로 가기 버튼의 일반적인 동작을 덮어 쓰는 것임을 알았습니다 .... 나는 그것이 가능하지 않다는 것을 두려워합니다. 사용자에 대한 보안 침해 ... 그러나 우리는 어떻게 든 우리 자신의 개발을 해킹 할 수 있습니다 ... 해결 방법에 대한 아이디어가 있습니다 : 1. 언로드하기 전에는 몇 가지 작업을 수행 한 다음 언로드하는 것입니다. do는 전역 매개 변수를 설정하거나 아무 것도하지 않습니다. 2. window.onload 이벤트를 사용하여 window.bef로 사전 설정 한 전역 매개 변수를 읽거나 – parismiguel

3

OnBeforeUnload는 작동하려면 반환 값이 필요하지만 실제로 보류중인 변경 사항이있는 페이지를 떠날 때 페이스 북처럼 페이지를 떠나기를 원하는지 사용자에게 묻는 메시지 만 표시합니다).

내가 아는 한 웹 브라우저는 사용자가 떠나려고 할 때 사용자를 리디렉션하는 웹 사이트를 중심으로 웹 브라우저에서 제어 할 수 없기 때문에 "표준 방법"과 같은 것은 없습니다 그리고 해결 방법을 찾더라도 모든 브라우저에서 작동하지 않을 것이라고 확신합니다. 하지만 고객이 왜 자신의 웹 사이트에서 그런 행동을 원하십니까? 적어도 제 의견으로는 그가 얻을 수있는 유일한 일은 최종 사용자에게 끔찍한 사용자 경험입니다.

관련 문제