안녕하세요.

2.1.8 업데이트 후인지 2.1.9 업데이트 한 다음인지는 모르겠지만 오늘 증상을 발견했습니다.

심플 mp3 플레이어 애드온에서 js는 불러오는데 css를 불러오지 못하는 문제가 있었습니다.

아래 처럼 loadFile을 addCSSFile로 바꾸니깐 해결되긴 했는데 그냥 이렇게 사용하면 되는 건가요?

 

//Context::loadFile('./addons/simple_mp3_player/css/APlayer.min.css', true);

Context::addCSSFile('./addons/simple_mp3_player/css/APlayer.min.css', true);

Context::loadFile(array('./addons/simple_mp3_player/js/APlayer.min.js', 'body', '', null), true);

Context::loadFile(array('./addons/simple_mp3_player/js/aplayer_loader.js', 'body', '', null), true);

  • profile

    뒤에 붙어 있는 true를 지우면 정상 작동합니다.

    저기에 true를 붙이는 이상한 코드가 꽤 많이 보이는데, 모두 잘못된 코드입니다.

     

    다른 상황에서는 true를 붙여도 정상 작동하는 이유는 간단합니다. addCSSFile, 그리고 마지막 두 줄처럼 배열과 함께 사용할 때는 true를 무시하기 때문입니다. XE에서도 다 무시합니다. 즉, 아무 의미 없는 불필요한 파라미터이므로, 저기에 true라고 쓰든 false라고 쓰든 구구절절 고백을 하든 아무 상관이 없는 것입니다.

     

    그러나 라이믹스 2.x에서는 첫 줄처럼 배열 없이 css 파일명 뒤에 곧바로 true를 붙이면 media 속성을 지정하려는 것으로 인식하기 때문에 오류가 납니다. 배열 없이 media 속성을 지정할 수 있는 문법이 추가되었기 때문입니다.

  • profile profile
    true 부분은 과거 XE에서 CDN 기능을 지원했을 당시 잔재입니다. true를 넘기면 XE팀에서 운영했던 서버에서 파일을 불러올 수 있었죠.
  • profile profile
    감사합니다~