찾다

 >  Q&A  >  본문

왜 그렇게 많은 JavaScript 스크립트가 사물에 임의의 숫자를 추가합니까? 충돌?

저는 최근 JavaScript를 배우고 있으며 Math.rand()를 사용하여 링크(Face book.com, 가독성 북마크)에 추가하는 예를 많이 보았습니다.

이렇게 하면 어떤 문제가 해결되나요? 가독성 북마크의 매개변수 예시:

으아악

JavaScript에 해결해야 할 충돌이나 문제가 있나요?

P粉729518806P粉729518806419일 전896

모든 응답(2)나는 대답할 것이다

  • P粉378264633

    P粉3782646332023-11-05 15:56:01

    핵심은 이러한 리소스의 브라우저 캐싱을 방지하는 것입니다.

    회신하다
    0
  • P粉144705065

    P粉1447050652023-11-05 11:47:29

    루벤스가 말했듯이 이는 캐싱을 방지하기 위해 사용되는 트릭인 경우가 많습니다. 브라우저는 JavaScript와 CSS를 매우 적극적으로 캐시하는 경향이 있어 대역폭을 절약할 수 있지만 스크립트를 변경할 때 배포 문제가 발생할 수도 있습니다.

    브라우저가 자신이 http://www.example.com/something.js?foo 的资源与 http://www.example.com 不同/something.js?bar에 있다고 생각하므로 리소스를 검색하기 위해 로컬 캐시를 사용하지 않는다는 아이디어입니다.

    아마도 더 일반적인 패턴은 리소스를 변경해야 할 때마다 변경되는 증분 값을 추가하는 것입니다. 이렇게 하면 반복되는 요청을 처리하기 위해 클라이언트 측 캐싱의 이점을 얻을 수 있지만 새 버전이 배포되면 브라우저가 새 버전을 가져오도록 강제됩니다.

    개인적으로 저는 파일을 변경할 때마다 버전 번호를 찾아 수정할 필요가 없도록 파일의 마지막 수정 시간을 Unix 타임스탬프로 추가하는 것을 좋아합니다.

    회신하다
    0
  • 취소회신하다