뒤로 버튼을 클릭할 때 Safari가 페이지를 캐싱하지 않도록 방지
P粉295728625
P粉295728625 2024-01-21 15:00:44
0
2
437

Safari에서는 뒤로 버튼을 클릭할 때 오래된 You Tube 비디오를 로드하는 데 문제가 있습니다. body 태그에 onunload=""(Safari 5의 뒤로 버튼 캐시 방지에 언급됨)를 추가하려고 시도했지만 이 경우에는 작동하지 않습니다.

Safari가 페이지의 캐시에서 로드되는 것을 방지할 수 있는 방법이 있나요?

P粉295728625
P粉295728625

모든 응답(2)
P粉514001887

이 모든 답변은 약간 해킹적입니다. 최신 브라우저(Safari)에서는 onpageshow 솔루션,

에서만 작동합니다. 으아악

그러나 느린 장치에서는 때때로 다시 로드하기 전에 잠깐 동안 캐시된 보기를 볼 수 있습니다. 이를 처리하는 올바른 방법은 아래와 같이 서버 응답에서 Cache-Control을 올바르게 설정하는 것입니다

'缓存控制','无缓存,max-age=0,必须重新验证,无存储'

P粉495955986

귀하의 문제는 백 캐시로 인해 발생했습니다. 사용자가 다른 곳으로 이동할 때 페이지의 전체 상태를 저장해야 합니다. 사용자가 뒤로 버튼을 사용하여 뒤로 탐색하면 페이지가 캐시에서 매우 빠르게 로드될 수 있습니다. 이는 HTML 코드만 캐시하는 일반 캐싱과 다릅니다.

bfcache가 페이지를 로드할 때 onload事件不会被触发。相反,您可以检查 onpageshow 事件的 persisted 속성. 초기 페이지 로드 시 false로 설정됩니다. 페이지가 bfcache에서 로드되면 true로 설정됩니다.

Kludgish의 솔루션은 페이지가 bfcache에서 로드될 때 강제로 다시 로드하는 것입니다.

으아아아

jQuery를 사용하는 경우 다음을 수행하세요.

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿