js, css 파일 URL에 filemtime 적용하기 (HOOK 이용) 정보
js, css 파일 URL에 filemtime 적용하기 (HOOK 이용)첨부파일
테스트한 버전5.4.3
호환 가능 버전5.4.3
본문
jihan001 님이 github 에서 제안해 주신 내용대로 만들었습니다. ( HOOK 이용 )
https://github.com/gnuboard/gnuboard5/issues/187
첨부파일 적용시 그누보드5에 적용된 테마 또는 스킨 css, js 파일명 끝에 filetime 시간으로 파라미터가 붙게됩니다.
사용방법은 첨부파일을 압축을 해제하여 그대로 덮어쓰기 하면 됩니다.
====== 파일수정내역 =======
2022-11-30 jihan006 님이 알려주신 내용을 참고하여 두번 실행되었던 것을 한번으로 실행되게 코드 수정
2022-12-19 jihan006 님이 알려주신 내용을 참고하여 script, link 태그에 지정한 속성이 제거되는 문제와 파일 우선 순위가 0이 되는 오류 수정
추천
14
14
댓글 전체
오 감사합니다!! 매번 직접 추가한 css 랑 js 에만(플러그인제외) 수정날짜 적용해서 캐시 안먹게 하고 있었는데ㅠㅠ
아 넵. 2022-06-14 11:48:56 이전에 다운 받으신 7명 분들은 파일에 문제가 있었으니, 다시 받아서 적용해 주세요.
아이고 감사합니다! 잘쓰겠습니다
오우 이거 굉장히 유용하네요!
오우 항상 감사합니다 잘 사용하겠습니다.
감사합니다.
감사합니다.
감사합니다...^^
아미나빌더에서는 안되는 부분도 있네요
좋은 정보 감사합니다.
hook이 중복 등록되는 문제가 있습니다.
`add_hooks()` 메소드를 static으로 변경하고,
7라인을 변경하여 중복 등록을 해결할수 있습니다.
```
G5_MANAGE_STATIC_FILES();
// 아래로 변경
G5_MANAGE_STATIC_FILES::add_hooks();
```
넵 알려주셔서 감사합니다.
해당 코드 수정했습니다.
해당 코드 수정했습니다.
두가지 문제를 발견했습니다.
1. script, link 태그에 지정한 속성이 제거됨
script 태그의 defer, async 속성이나 link 태그에 crossorigin, disabled 등
check_skin_css(), check_skin_js() 함수에서 js, css 파일의 경로만 가져다가 태그를 새로 만들어 반환하기 때문에 이러한 속성들이 모두 제거되는 문제가 있습니다.
2. 파일의 우선 순위 값을 0으로 변경시켜 버림
$return_jss[] = array(0=>0, 1=>'<script src="'.$this->static_filetime($match[0]).'"></script>');
이처럼 원래의 order 값인 $js[0]을 사용하지 않고 0=>0 으로 처리되어 order 값을 모두 0으로 바꿔 반환해버립니다. css도 마찬가지.
1. script, link 태그에 지정한 속성이 제거됨
script 태그의 defer, async 속성이나 link 태그에 crossorigin, disabled 등
check_skin_css(), check_skin_js() 함수에서 js, css 파일의 경로만 가져다가 태그를 새로 만들어 반환하기 때문에 이러한 속성들이 모두 제거되는 문제가 있습니다.
2. 파일의 우선 순위 값을 0으로 변경시켜 버림
$return_jss[] = array(0=>0, 1=>'<script src="'.$this->static_filetime($match[0]).'"></script>');
이처럼 원래의 order 값인 $js[0]을 사용하지 않고 0=>0 으로 처리되어 order 값을 모두 0으로 바꿔 반환해버립니다. css도 마찬가지.
넵~ 알려주셔서 감사합니다.
해당 오류를 수정하여 다시 적용했습니다~
해당 오류를 수정하여 다시 적용했습니다~
파일이 좀 이상한 것같습니다.
extend 파일 외에도 다른 파일들이 좀 섞여있네요.
그리고 2022-11-30 수정하셨던 코드가 다시 이전 상태로 돌아갔네요.
extend 파일 외에도 다른 파일들이 좀 섞여있네요.
그리고 2022-11-30 수정하셨던 코드가 다시 이전 상태로 돌아갔네요.
알려주셔서 감사합니다.
다시 수정했습니다.
다시 수정했습니다.