2014-07-01 14 views
11

Używam CKEditor w mojej aplikacji MVC.CKEditor nie działa, gdy witryna jest wdrożona w IIS

Używam pakietu "ckeditor-full" (wersja 4.4.2).

Dołączyłem pliki "ckeditor \ adapters \ jquery.js" i "ckeditor \ ckeditor.js" do pakietu i wskazałem te pakiety w pliku _Layout.cshtml.

@Scripts.Render("~/bundles/Scripts/ckeditor") 
@Scripts.Render("~/bundles/Scripts/ckeditor/adapters") 

Folder "Skrypty/cededitor" zawiera wszystkie 352 pliki pobrane przy użyciu tego pakietu.

Poniżej config.js plik (który przebywa w "scripts/CKEditor" folder

CKEDITOR.editorConfig = function(config) 
{ 
    // Define changes to default configuration here. For example: 
    config.toolbar = 'Custom'; 
    config.disableNativeSpellChecker = false; 
    config.browserContextMenuOnCtrl = true; 
    config.forcePasteAsPlainText = true; 

    config.toolbar_Custom = [ 
     { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', '-', 'RemoveFormat'] }, 
     { name: 'paste', items: ['PasteText'] }, 
     { name: 'links', items: ['Link', 'Unlink'] } 
    ]; 
}; 

obserwuję to w jaki sposób wyświetlić CKEditor dla textarea.

$("#idBodyText").ckeditor(); 

problem jest, że działa dobrze lokalnie i działa w lokalnych programach IIS w trybie debugowania, ale nie wyświetla CKEditor po wdrożeniu w IIS z konfiguracją wydania

Każdy pomysł, jaki może być powód i jak rozwiązać ten problem?

Każda pomoc w tym zakresie jest bardzo cenna.

Dzięki

Odpowiedz

29

Jako rozdzielczości, okazało się, że miałem zawierać następującą linię w moim zdaniem przed załadowaniem wiązek -

<script type="text/javascript"> 
    CKEDITOR_BASEPATH = "@Url.Content("~/Scripts/ckeditor/")"; 
</script> 
+1

prosty, ale skuteczny, trzymać go w układ strony .... – Simon

1

Sprawdź w jaki sposób pakiety generowane stylesheet i scripts linki w źródle strony:

@Scripts.Render("~/bundles/Scripts/ckeditor") 
@Scripts.Render("~/bundles/Scripts/ckeditor/adapters") 

To może być problem z HTTP Error 404 - File or Directory not found lub 403.2 - Read access forbidden. - w takim przypadku należy sprawdzić, czy pliki są prawidłowo zapisz na serwerze (w poprawnej lokalizacji) i sprawdź uprawnienia dla tego folderu.

Pomocne przy debugowaniu będzie także Firebug. Gorąco polecam go używać.