0
사용자가 창을 새로 고쳤거나 창이 window.location.reload() 인 경우 감지 할 수있는 방법이 있습니까? 페이지를 새로 고치고 새로 고친 js 명령은 무엇입니까?JS가 페이지를 새로 고침했는지 또는 사용자가 수행했는지 여부를 감지합니다.
사용자가 페이지를 새로 고침/탐색 한 경우 필터 세션 변수를 설정 해제하고 재로드 (자바 스크립트)를 수행 한 경우이 필터 세션 변수를 유지하려고합니다.
은 내가 window.location.reload(), $ _SERVER을 수행 할 때 [ 'HTTP_REFERER']은 전체 전류 경로 링크가되는$_SERVER['HTTP_REFERER']
작업에 의해 시도했다, 그래서 나는하려고 노력 :
if(!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] != url::base(true).Request::current()->uri())
{
$session = Session::instance();
$session->delete('deal_filter');
}
그러나 이것은 효과적이지 않으며 때때로 작동합니다.
이 방법으로 검색 할 수없는 경우이를 수행하는 다른 방법이 있습니까?
은 당신의 자바 스크립트를 갱신 할 때 다음 페이지에 POST 액션과 값을 제출 종류의 그것이 새로 고침을 결정하기 위해 그 값을 확인 할 수있을 것인가? –
@ PeteSchlette 예, 좋습니다. 그게 단지 간단한 window.location.reload()처럼 페이지를 새로 고치는 것입니다. – Karem