문제

나는 JavaScript 파일 .

방법 척추가 있습니다. makebrowsercachesafeLayoutsURL . MSDN 이 메서드가 말합니다 : < EM> 관련 파일 을 변경할 때 브라우저에서 캐시되지 않는 새 URL을 반환합니다.

멋지게 들립니다. 나는이 방법을 그렇게 사용해 보았습니다 :

 <script type="text/jscript" src="<%=SPUtility.MakeBrowserCacheSafeLayoutsUrl("projectName/scripts/plugins/tapes_report_definition.js", false)%>" ></script>
.

그래서 그것은 일했습니다. URL의 끝 부분에있는 rev= {md5hash_of_my_file.js} 부분을 생성했습니다. 그러나이 .js 파일을 변경 한 후 새로운 MD5 해시가 생성되지 않았습니다. ? rev 부분은 동일하게 유지되었습니다. 나는 IISRESET, 재배치 등을 시도했지만 아무 것도 도움이되지 않았습니다. 이 방법을 반사경으로 확인하고 MakeBrowserCacheSafeLayoutsURL이 MD5 해시를 항상 생성하지 않지만 내부 SPVOLITILITECACHE 객체에서 가져 오지 않는다는 것을 알게되었습니다.

이 두 폴더 내부의 모든 파일을 삭제 하여이 캐시를 지울 수 있다고 생각했습니다.

  1. % appdata % \ Microsoft \ 웹 서버 확장 \ 캐시
  2. % UserProfile % \ appdata \ local \ microsoft \ websitecache

    삭제가 도움이되지 않았습니다 .putility.makebrowsercachesafelayoutsurl은 JavaScript 파일이 변경된 후 동일한 값을 반환합니다.

    세 가지 질문이 있습니다.

    1. 모든 후 SpvolitileCache를 새로 고침하려면 어떻게합니까?
    2. 어떻게 척추를 강요합니까 .makebrowsercachesafelayoutsurl이 생성됩니다 새? rev= 캐시를 제거하지 않고
    3. 위의 모든 것을 고려할 때조차도 척추를 사용하는 것이 좋습니다 .MakeBrowserCachesafeLayoutsURL?

      추가 정보는 크게 감사 할 것입니다!

도움이 되었습니까?

해결책

나는 그것을 다시 점검했고, 나는이 방법이 완전히 실행 가능하다는 것을 확인한다.파일의 URL이 IisReset 후에 새로 고쳐집니다.이것은 정확히 내가보고 싶은 것입니다.

다른 팁

이 작업을 주석으로 추가하고 싶지만 StackeXchange는 그렇게 허용하지 않습니다. 그래서 내 대답이 있습니다. 콘텐츠 편집기 웹 파트 (또는 .js 파일에 대한 JSLink) 내의 캐시 된 스크립트 요소의 문제를 해결하려는 누구든지, Sputility.makeBrowserCachesAfeURL 메서드는 서버 전용 메서드이며 있어야합니다. ASPX 페이지에 내장되어 있습니다. 코드를 .js 파일이나 콘텐츠 편집기 웹 파트에 끼워 넣을 수없고 작동하는 것을 이해해야합니다. 그것은하지 않을 것입니다.

, 그 방법은 ScriptLink 태그를 사용하기 때문에 실제로 꽤 쓸모가 없습니다. 스크립트 링크가 당신을 위해? rev를 추가합니다. 이 방법을 사용하도록 유의 한 유일한 시간은 스크립트 태그를 결코해서는 안되는 페이지에 포함시키는 경우입니다. 그것은 완전히 전체 SOD 프레임 워크와 모범 사례에 반대하며 MDS에서 작동하지 않을 것입니다.

이 페이지를 찾은 이유는 페이지에 InfoPath 양식 웹 파트가 있고 이전 개발자는 별도의 .js 파일을 사용하여 일부 버튼을 만들었 기 때문입니다. 버튼의 .js 파일은 콘텐츠 편집기 웹 파트에서 참조됩니다. 이것은 일반적인 시나리오 일 것입니다. 그러나 파일 참조에 수동으로 추가하지 않는 한 파일 참조가 트레일링이 없기 때문에 문제가됩니다. 어떤 종류의? rev를 생성하는 데 도움이되는 실제 클라이언트 측 방법이없는 한, 나는이 방법이 쓸모가 없다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top