새로 고침 버튼 (f5)을 클릭하면 어떻게 알 수 있습니까?
- 내가이 작업을 새로 고침 할 때 - 어쨌든 localStorage를 지워야합니다.
- URL 또는 닫기 페이지가 변경되면 localStorage가 상태를 저장해야합니다.
나는 이러한 문제에 대해 여러 가지 topict를 발견했습니다. 주요 결론은 window.onbeforeunload를 사용하는 것이지만 동시에,이 이벤트는 언제든지 발생합니다 (url/ctrl + shift + r/f5/ctrl + r 등을 변경할 때도 마찬가지입니다).
새로 고침 이벤트 만 수신하려면 어떤 사안이 있습니까? 예를 들면 : url과 비교할 수있는 몇 가지 방법 (현재 및 어느 사용자가 열려고하는지, 같은 경우 - 새로 고침)?닫기 이벤트를 포착하거나 URL 이벤트를 변경하지 않고 새로 고침 이벤트를 잡는 방법?
0
A
답변
0
그게 무슨 뜻인지는 알 수 없습니다. 새로 고침 작업을 캐치 할 수 없습니다. 그러나이 해결 방법으로 그 동작을 얻을 수 있습니다 응용 프로그램의 여러 창이 열려있는 경우 좋은 방법으로, 이상한 행동을 방지하기 위해 타임 스탬프를 사용
if(self.window.name.indexOf("justAwordToNowisYourWindow")!=0){
self.window.name = "justAwordToNowisYourWindow";
alert("first Load");
}else{
alert("reload");
}
도를 :
var n = Date.now();
if(self.window.name.indexOf("justAwordToNowisYourWindow")!=0)
{
self.window.name = "justAwordToNowisYourWindow"+n;
alert("first Load");
}else{
alert("reload");
}
+0
나는 이것에 대해 생각하고 있었지만 나의 버전에서는 beforeunload 이벤트에서 약간의 가치를 되돌려 줄 필요가있다. 어떻게 이해할 수 있습니까? 또는 beforeunload 작업에 대한 나의 오해? 만약 내가 반환 값을 잡을 수 있다면, 모두 더 쉬울 것입니다.)) –
+0
당신은 창 이름과 반환해야하는 값을 가진 언로드 이벤트 전에 쿠키를 생성 할 수 있습니다. 우리가 해결할 수있는 비즈니스 규칙에 대한 자세한 내용이 나와 있습니다. –
HTTP ://stackoverflow.com/questions/18457797/how-to-know-whether-refresh-button-or-browser-back-button-is-clicked-in-firefox 도움이 될 만한가? –
[브라우저에서 뒤로 버튼 클릭 감지]의 가능한 복제본 (http://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser) – CodeMonkey
아니요,이 글을 읽었지만 해결 방법이 도움이되지 않았습니다. . 주된 이유는 beforeunload 이벤트, 마녀가 모든 이벤트를 포착하기 때문입니다. 내 마음 속에는 f5 나 새로 고침 버튼 만 있으면 돼. –