vulcan9 / jikji.editor

jik-ji 프로젝트 관리
Other
0 stars 0 forks source link

[v 0.4.10] 출판된 페이지에서 JSON 에러 발생됨 #120

Closed vulcan9 closed 6 years ago

vulcan9 commented 6 years ago

직지 0.4.10 버전에서 출판한 후 페이지를 브라우저에서 열면 다음 에러가 발생함.

20180417_161109

직지 저장 파일을 전달 받아 디버깅 해봄.

vulcan9 commented 6 years ago

원인 :

버튼에 액션이 삽입되어 있었음.

20180417_161624

기능은 적용되어 있으나 적절한 parameter가 지정되지 않아 페이지에서 JSON 데이터 파싱할때 에러 발생함.

해결 1 :

아래 화면에서 각각 toggle 대상을 지정해주면 에러는 발생하지 않음.

해결 2 :

문제의 원인은 다음 함수에서 적절한 방어 코드가 구현되지 않았음.

// $actions.js
function casting(type, value){
    ....
        case 'array':
            if(angular.isArray(value)) result = value;
            if(angular.isString(value)) result = angular.fromJson(value);
            break;
    ....

위에서 value값은 빈 문자열("")이 전달되었고 로직에 따라 angular.fromJson(value); 구문을 실행하면서 에러가 발생됨. 다음 배포 버전에서 방어코드 구현 후 배포 예정임.

vulcan9 commented 6 years ago

0.4.11 버전(이상)에서 처리(구현) 되었습니다.