2017-09-12 4 views
1

asp.net mvc app을 작성하고 cbeditor (4.7.2)를 초보자로 사용 중입니다.CDN이 사용될 때 로컬 ckeditor 플러그인을로드하고 Chrome 캐시

CKEDITOR.plugins.addExternal('name', '@Url.Content("~/scripts/ckeditor/plugins/name")', 
'plugin.js'); 

을하지만 이렇게하면, 브라우저는이로드하려고 : 나는 그것을 로컬로 플러그인을로드 할 수 있도록 구성해야합니다, 그래서 나는 per the doc 같이 CDN에서 ckeditor를로드

localhost/scripts/ckeditor/plugins/name?t=H7HDplugin.js 

을 브라우저 콘솔을 살펴보면 모든 ckeditor 파일이이 방법으로로드되고,이 추가 된? t = H7HD 쿼리 문자열도 함께 표시된다는 것을 알 수 있습니다. 제대로 파일을로드

CKEDITOR.plugins.addExternal('name', 
    '@Url.Content("~/scripts/ckeditor/plugins/name/plugin.js")', ''); 

:

localhost/scripts/ckeditor/plugins/name/plugin.js?t=H7HD 

이 버그인가 내가 찾은

유일한 해결 방법은 대신이 양식을 사용했다? 첫 번째 양식이 올바른 순서로 URL을 작성해야합니까? 아니면 내가 놓친 것이 있습니까?

업데이트 : 의사가 경로에 마지막 슬래시를 넣는 것을 알았습니다. 추가하면 문제가 해결되어 끝에 쿼리 ​​문자열이 유지됩니다. 그러나이 쿼리 문자열이 존재하는 이유와 ckeditor가이 종료 슬래시를 검사하지 않는 이유는 설명하지 않습니다.

그리고 두 번째 질문이 생깁니다. 개발하는 동안 Visual Studio에서 파일을 수정하면 Chrome에서 아무런 조치없이 파일을 다시로드 할 수 있습니다. 그러나 ckeditor에 의해로드 된 플러그인의 경우 Chrome은 이전 버전을 유지합니다. 브라우저의 캐시를 지워야하는데, 매번 최신 버전이 있는지 확인하고 싶습니다. 이 문제를 해결할 방법이 있습니까? 나는 이것이 처음으로 생각했기 때문에 이것이 관련된 질문이라고 생각한다. t = ... 캐시를 우회하여 파일을 다시로드하는 메커니즘이다. 단, 여기서는 값이 변하지 않는다.

답변

1

per documentationaddExternal() 방법의 두 번째 파라미터는 :

경로 : 문자열 자원을 포함하는 폴더의 경로.

경로가 /scripts/ckeditor/plugins/name?t=H7HD 인 경우 마지막 매개 변수 (플러그인 파일, plugin.js)가 함께 연결됩니다.

+0

"? t = H7HD"를 경로에 추가하지 않습니다. ckeditor가로드하는 모든 URL에이 URL이 있습니다. –

+0

Ops, 실제로 CKEditor는 끝 부분에 슬래시가없는 경로가있는 경우에 설명 된 것처럼 작동합니다. 따라서이 문제에 대한 즉각적인 해결책은 경로 끝의 슬래시를 플러그인 폴더에 추가하는 것입니다. 신고하신 문제가 재개되었습니다 : https://github.com/ckeditor/ckeditor-dev/issues/917 –