Q&A

xGetElementById 콘솔 경고

2023.08.30 05:31
187
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

글 읽기 화면에 나오는 콘솔 경고창을 없에 보고싶습니다.

 

DEPRECATED : xGetElementById() is deprecated in Rhymix.

 

더 이상 xGetElementById() 지원 하지 않는다는 경고 같은데요

 

/common/js/x.js 9번째줄이 뜹니다.

 

function xDeprecate(funcName) {
    var msg = 'DEPRECATED : '+funcName+'() is deprecated in Rhymix.';
    if (typeof console == 'object' && typeof console.log == 'function') {
        console.log(msg);
    }
}

 

xGetElementById()가 사용된곳을 찾을 방법이 있을까요?

 

톰캣 Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.

댓글 13

  • 2023.08.30 07:58 #1783137

    에디터 사용중이시면 해당 에디터에서 프로젝트 단위로 찾기 옵션이 있습니다.

    대부분 컨트로 + 쉬프트 + f 을 통해서 찾을 수 있는데 리모트 내에 있는 파일을 찾는 기능이 아니라서 서버내에서 찾아야 할 경우 다른 방법을 써야 할거예요.

     

    근데 코어에서도 충분히 많은곳에서 xGetElementById 을 사용중이므로 굳이 그걸 수정하려고 노력하시지 않으셔도 됩니다.

     

    냅두시길 권장드려요 ㅠ

  • 2023.08.31 01:08 #1783196

    답변 감사합니다.

    xGetElementById 라고 검색을 해보면

    \files\cache\template\modules\ 에서만 결과가 나오네요.

    근데 이건 이미 캐시된 파일이라 고쳐도 의미가 없지 않나요?

  • 2023.08.31 02:10 #1783209
    그 템플릿파일이 검색되는건 그 템플릿의 원본에서 사용중이라는 뜻일거 같은데요 그 파일은 템플릿이 없다면 생성 안될거니까요
  • 2023.08.31 03:42 #1783245
    제가 .php 필터를 걸어 검색을 했었네요 ㅠㅠ ㅎㅎ 바보
  • 2023.08.31 03:57 #1783267
    넵 근데 코어파일에서도 많이 사용하고 잇는것 같으니 나중에 유지보수를 위해서 코어파일을 제외한 다른 파일들에 한해서만 아래 기진님꼐서 알려주신 방법으로 수정하시면 될 것 같습니다..!
  • 2023.08.30 08:07 #1783140

    실제로 사용하는 곳을 찾을 수 있도록 stack trace를 추가해야겠네요.

    수십년 전부터 지원되던 getElementById를 두고 왜 저런 이상한 함수를 쓰는지...

     

    수정) 크롬 기준으로 console.log 대신 console.warn을 쓰면

    어느 함수가 호출해서 경고가 떴는지 볼 수 있습니다.

  • 2023.08.30 08:33 #1783145

    위젯 페이지 편집 화면에서 xGetElementById 때문에 콘솔이 너무 지저분하더군요. 디버깅할 때 방해가 되는 듯 합니다.
    가능하면 덜어내는 편이 좋다고 생각합니다만... 너무 많아서 쉽지는 않더군요.

  • 2023.08.30 14:46 #1783162

    document.getElementById 로 일괄 치환해도 무방합니다.

  • 2023.08.31 01:09 #1783202
    xGetElementById =>document.getElementById 로 치환하면되는거죠?
    근데 \files\cache\template\modules\ 에서만 결과가 나오고 있습니다.
  • 2023.08.31 03:35 #1783226
    files/cache/template/modules/aaa/bbb/ccc.html.php 에 있는 파일은
    modules/aaa/bbb/ccc.html 을 변환해서 캐싱해 놓은 것입니다.
    원본을 수정하셔야겠지요.
  • 2023.08.31 03:38 #1783236
    아 제가
    *.php로 필터링해서 찾아서 저 캐싱 폴더에서만 나왔나보네요

    .html도 포함했으면 나왔겠네요.감사합니다.
  • 2023.08.31 03:43 #1783249
    xGetElementById(), exec_xml() 등 라이믹스에서 deprecated 표시된 자바스크립트 함수를 호출할 경우, stack trace를 볼 수 있도록 console.log가 아닌 console.warn을 사용하여 표시

    패치 감사합니다!
  • 2023.08.31 03:59 #1783270
    코어의

    \rhymix\modules\editor\skins\ckeditor\js\xe_textarea.js 도 수정 부탁드립니다.

    2번째 3번째줄에 xGetElementById 이 이용되고 있네요 이거수정하니 에러가 안뜹니다