최근에 특정 JS 및 CSS 파일을 <head>
각 페이지에 삽입 해야하는 모듈을 개발했습니다 . 처음에는 다음을 사용했습니다.
$doc =& JFactory::getDocument();
$doc->addScript(JURI::base(true).'/modules/mod_x/js/mod_x.js');
그러나 캐싱을 사용하도록 설정하면 사이트에서 캐시 된 버전 /cache
과 캐시되지 않은 버전을 모두로드 /modules/mod_x/js/
하여 JS 오류가 발생했습니다.
내가 이것을 변경했을 때 :
JHtml::script(Juri::base().'modules/mod_x/js/mod_x.js');
이 오류를 해결하여 스크립트가 캐시에서 한 번만로드되었습니다.
나는 문서 에서 addScript
방법이 방법보다 '낮은 수준' 이라고 읽었JHtml:script
지만 그 이상은 아닙니다 ...
물론 [addScript를 사용하는 경우] 위의 [JHtml : script 방법]을 사용하여 자동으로 수행되는 [JHtml : script가 수행하는] 단계 중 일부를 수동으로 코딩해야합니다.
... 더 자세한 내용은 없습니다.
차이점은 무엇입니까? 나는 JHtml:script
결국 addScript
어느 시점에서 문서 객체를 호출 한다고 가정 하지만 다른 중간 단계가 먼저 수행됩니까?