2014-07-01 5 views
11

Ich verwende CKEditor in meiner MVC-Anwendung.CKEditor funktioniert nicht, wenn Site auf IIS bereitgestellt wird

Ich verwende "ckeditor-full" (Version 4.4.2) Paket.

Ich habe die Dateien "ckeditor \ adapter \ jquery.js" und "ckeditor \ ckeditor.js" in das Bundle aufgenommen und auf diese Bundles in der _Layout.cshtml-Datei verwiesen.

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

Der Ordner "Scripts/ckeditor" enthält alle 352 Dateien, die mit dem Paket heruntergeladen wurden.

Es folgt config.js-Datei (die in "Scripts/ckeditor" Ordner mit Wohnsitz

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'] } 
    ]; 
}; 

Es folgt, wie ich CKEditor für Textfeld angezeigt werden.

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

Das Problem ist, dass, Es funktioniert gut lokal und wenn auf lokalen IIS im Debug-Modus ausgeführt wird jedoch nicht CKEditor angezeigt, wenn auf IIS mit Release-Konfiguration implementiert

Jede Idee, was der mögliche Grund sein könnte und wie löst man das?

Jede Hilfe auf diese sehr geschätzt.

Dank

Antwort

29

Als Auflösung, es stellte sich heraus, dass musste ich vor dem Laden die Bündel folgende Zeile aus meiner Sicht sind -

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

einfach, aber effektiv, halten Sie es in Ihrem Layout-Seite .... – Simon

1

prüfen, wie Sie Ihre Bündel stylesheet und scripts Links in Seitenquelle erzeugt:

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

Es ist ein Problem mit HTTP Error 404 - File or Directory not found oder 403.2 - Read access forbidden. sein könnte - in diesem Fall sollten Sie überprüfen, ob Dateien korrekt sind Speichern Sie auf serwer (an der richtigen Position) und überprüfen Sie die Berechtigungen für diesen Ordner.

Auch hilfreich für das Debuggen ist Firebug. Ich empfehle es dringend zu verwenden.