>  기사  >  백엔드 개발  >  페이지로 돌아가기 위해 브라우저의 뒤로 버튼을 클릭할 때 PHP에서 페이지를 새로 고치는 방법은 무엇입니까?

페이지로 돌아가기 위해 브라우저의 뒤로 버튼을 클릭할 때 PHP에서 페이지를 새로 고치는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-12-01 00:56:542487검색

제가 인터넷에서 검색하는 모든 것은 ASP입니다. PHP는 어떻게 뒤로 버튼이 캐시되는 것을 방지할 수 있나요?

답글 내용:

제가 인터넷에서 검색하는 모든 것은 ASP입니다. PHP는 어떻게 뒤로 버튼이 캐시되는 것을 방지할 수 있나요?

  1. 탐색history.back() 및 기타 동작을 차단할 수 없습니다

  2. 페이지에 캐시가 없도록 설정하는 것을 고려할 수 있습니다

    <code>$nocache = array(
        'Expires' => '0',
        'Cache-Control' => 'no-store,private, post-check=0, pre-check=0, max-age=0',
        'Pragma' => 'no-cache'
    );
    foreach($nocache as k => $v)
        header($k.': '.$v);
    </code>
  3. 정말로 돌아가기를 거부하고 싶다면 다음 방법을 사용하여 시뮬레이션할 수 있습니다. 그러면 한 번만 뒤로 자동으로 현재 페이지로 점프할 수 있습니다. 상쾌

    <code>header('Location: index.php');</code>

홈 페이지 페이지 매김 링크를 예로 들어 보겠습니다.
<a href="/index.php?page=3" onclick="page(3);return false;">3</a>
검색 엔진 크롤러는 href에 따라 /index.php?page=3에 액세스하여 3페이지의 데이터를 얻습니다. 이는 SEO에 도움이 됩니다. 🎜>사용자는 브라우저에서 마우스 오른쪽 버튼을 클릭하고 "새 탭에서 열기"를 선택하면 정상적으로 /index.php?page=3에 접속할 수도 있습니다.
사용자가 페이지에서 직접 링크를 클릭하면 클릭 이벤트가 발생합니다. JS는 AJAX를 통해 로컬 데이터를 로드 및 렌더링하고 .hash 위치를
로 설정합니다./index.php#/page/3
location.hash = "#/page/3";브라우저는 location.hash 기록을 자체적으로 기억할 수 있으므로 듣기만 하면 됩니다. location.hash 변경 이벤트
(IE8 지원, IE7/6 지원 안 함)에서는 사용자가 브라우저의 돌아가기 버튼을 클릭할 때 페이지를 다시 로드하는 효과를 얻을 수 있습니다.hashchange

<code>$(window).on("hashchange", function(){
    alert(location.hash); //输出#/page/2
    var arr = location.hash.split("/"); // ["#", "page", "2"]
    if(arr[1] == "page") {
        page(arr[2]); //AJAX局部加载第2页数据
        //location.href = "/index.php?page="+arr[2]+"&"+new Date().getTime(); //直接访问第2页
    }
});</code>
위의 "SEO와 경험을 동등하게 강조한 하이퍼링크 디자인"은 포스터의 요구 사항을 충족할 수 있어야 하지만, 일정한 변형 비용이 필요합니다.

페이지가 로드되고 js가 페이지를 새로 고칩니다. location.href = location.href

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.