js, css 파일 URL에 filemtime 적용하기 (HOOK 이용) > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

js, css 파일 URL에 filemtime 적용하기 (HOOK 이용) 정보

js, css 파일 URL에 filemtime 적용하기 (HOOK 이용)

첨부파일

statics_filetime.zip (1.3K) 128회 다운로드 2022-12-20 10:05:13
테스트한 버전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

댓글 전체


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도 마찬가지.
파일이 좀 이상한 것같습니다.
extend 파일 외에도 다른 파일들이 좀 섞여있네요.
그리고 2022-11-30 수정하셨던 코드가 다시 이전 상태로 돌아갔네요.
전체 503
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT