>  기사  >  웹 프론트엔드  >  URL 조각 변경_javascript 기술을 모니터링하는 js 코드

URL 조각 변경_javascript 기술을 모니터링하는 js 코드

WBOY
WBOY원래의
2016-05-16 18:29:121255검색

물론 페이지를 새로 고치지 않는 것이 가장 좋지만, 브라우저 링크를 복사해 놓으면 다음에 방송하는 영상을 찾을 수 있기를 바라겠습니다. 방법은 매우 간단합니다. URL 부분만 변경하면 됩니다.

프래그먼트 변경 사항을 모니터링하는 것이 이러한 유형의 프로그래밍의 핵심입니다. 주류 브라우저(IE Firefox)에는 조각 변경 사항을 모니터링하는 onhashchange 이벤트가 있습니다.
그러나 행동에는 약간의 차이가 있습니다. IE8 이전의 IE 버전에서는 window.location 객체가 빠르게 변경되면 onhashchange가 트리거되지 않는데, 이는 매우 이상한 버그입니다.

아래 제가 작성한 onhashchange 이벤트는 브라우저 차이가 없습니다. 그리고 페이지 초기화 시 URL에 프래그먼트가 있으면
onhashchange 이벤트도 발생하는 기능이 추가되었습니다.

코드 복사 코드는 다음과 같습니다.

function addFragmentChangeEvent(callback)
{
var source = document.URL;
var url = source.split("#")[0]
if (window.location.hash)
{
var base_hash = " #____base____hash____";//페이지 초기화 시 이벤트 함수가 실행되도록 해시를 변경합니다.
window.location = url base_hash;
}
var prevHash = window.location.hash;
window.setInterval(
function()
{
if (window. location.hash != prevHash)
{
prevHash = window.location.hash;
callback(prevHash)
}
},
if (window.location .hash)
{
window.location = source;
}
}

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