2011-09-06 4 views
3

TinyMCE에 문제가 있습니다. lang, theme 및 plugins을 검색 할 때 기본 스크립트 파일이있는 디렉토리를 검색합니다. 그러나이를 수행하는 대신 현재로드 된 페이지를 검색 용 루트로 사용합니다. src 파일에서 "loadScripts"함수를보고 있지만 경로를 변경해도 의미있는 결과가 나타나지 않습니다.TinyMCE 잘못된 디렉토리에서 lang/plugins/theme을로드 중입니다.

// Load scripts 
     function loadScripts() { 
      if (s.language) 
       sl.add(tinymce.baseURL + '/langs/' + s.language + '.js'); 

      if (s.theme && s.theme.charAt(0) != '-' && !ThemeManager.urls[s.theme]) 
       ThemeManager.load(s.theme, 'themes/' + s.theme + '/editor_template' + tinymce.suffix + '.js'); 

      each(explode(s.plugins), function(p) { 
       if (p && p.charAt(0) != '-' && !PluginManager.urls[p]) { 
        // Skip safari plugin for other browsers 
        if (!isWebKit && p == 'safari') 
         return; 

        PluginManager.load(p, 'plugins/' + p + '/editor_plugin' + tinymce.suffix + '.js'); 
       } 
      }); 

      // Init when que is loaded 
      sl.loadQueue(function() { 
       if (!t.removed) 
        t.init(); 
      }); 
     }; 

     loadScripts(); 
    } 

답변

7

나는/내가 일하고는 "단일 페이지"응용 프로그램이 같은 문제를 겪고 있었다 :

는 여기에 귀하의 검토를 위해 수정되지 않은 loadScripts 기능입니다. JS는 tinymce를위한 JS를로드하는 다른 디렉토리에 있으며, 이것은 나에게 당신이 얘기했던 것과 같은 이슈를주고있다.

여기 내가 배운 몇 가지 것들이 도움이 될 것입니다.

window.tinyMCEPreInit = { 
     suffix : '_1', 
     base : '/static/js/plugins/tiny_mce', // your path to tinyMCE 
     query : 'something' 
    }; 

'기본'인수는 중요한 문제입니다.

또한 jquery 플러그인을 사용하고있었습니다. 그러나 jquery 플러그인과 tinymce를 모두 수동으로 포함하면 jquery 플러그인의 script_src가 무시 된 것처럼 보입니다. 이것은 어떤 알려지지 않은 이유로도 중요합니다.

마지막으로, 제 경우에는 접미어를 캐시 버스트의 일부로 사용합니다. 빌드를 수행하면 모든 JS 및 CSS 파일에 파일 확장명 앞에 해시가 추가됩니다. 불행하게도, 나는 tinymce 개발자들이 접미어 설정에 대해 다른 생각을 가지고 있다고 생각합니다. 그리고 lang과 template css 파일은 그것을 따르지 않아서 404가됩니다. lang의 빠른 수정은 '_1'이 cacehbuster 접미사 인 'en_1'에 언어 인수를 설정하고 마지막으로 tinymce.suffix arg를 포함하도록 테마 파일을 수동으로 편집해야했습니다. 이 시점에 도달하는 데 6 시간이 걸렸습니다.

+1

내 버전 2.1에서 작동하지 않습니다. – Stiger