2017-10-06 13 views
1

여러 버전의 ckeditor 라이브러리가 다른 버전과 충돌하지 않고 동일한 페이지에 존재할 수있는 방법이 있습니까? jquery.noConflict 모드로 jquery하는 방법은?동일한 페이지에 여러 버전의 ckeditor가 있습니다.

유스 케이스는 우리 조직에 다른 위젯을 구축하는 팀이 있고 그 중 2 명이 포크 형 및 사용자 정의 된 ckeditors를 사용 중이며 둘 다 다른 릴리스 버전입니다. 현재는 동일한 페이지에서 충돌하는 경우 문제가 발생합니다.

누구나 비슷한 문제에 직면 해이 문제를 해결하려고 했습니까?

+0

시도해 보았습니다. 전역 변수 때문에 불가능합니다. 여러분 모두를 위해 작동 할 공통 ckeditor를 만들 것을 제안합니다. https://ckeditor.com/cke4/builder – Aviator

답변

1

CKEditor에는 이러한 기능이 없습니다. CKEditor 전역 변수 CKEDITOR을 등록하면 다른 버전을로드해도 작동하지 않습니다. 어떤 종류의 클로저 (closure) 하에서 전역 변수를 감추는 것은 까다로울 수 있으며 반드시 많은 작업이 필요합니다. CKEditor로로드되는 여러 가지 것들이 있습니다 (일부 사용자 정의 스타일이나 축소 된 libs 같은). 그래서 당신도 어떻게 든 그것에 대해 돌봐야합니다.

별도의 iframe에서 다른 버전을로드 할 수 있어야합니다. 이렇게하면 다른 버전이 별도로 작동하는 별도의 환경이 제공됩니다.

더 편리한 또 다른 옵션은 모두에게 적용되는 하나의 버전 만 준비하고 다른 인스턴스마다 다른 구성을 제공하는 것입니다. 이것은 귀하의 페이지에 한 번만 라이브러리를로드합니다. 예를 들어 config.removePlugins을 사용하여 일부 플러그인을 삭제할 수 있습니다. 또한 모든 단일 편집기 인스턴스에 대해 사용자 지정할 수있는 많은 것들이 있습니다.

+0

우리 역시 같은 결론에 도달했습니다. 우리가 다른 팀의 버전을 요구할 수 없기 때문에 다른 구성으로 동일한 편집기를 공유하는 것은 쉬운 방법이 아닙니다. 다른 팀이 버전을 업그레이드 할 때마다 다른 버전으로 전환하고 싶지 않기 때문에 똑같이해야합니다. Iframes가 가장 깨끗한 방법은 아니지만 현재 유효한 해결 방법 인 것 같습니다. –