2014-07-10 13 views
5

Html:Javascript xóa plugin ckeditor trên tải

<textarea name="Editor" class="ckeditor" id="aboutme">@Model.Content</textarea> 

Javascript:

<script> 
    config.removePlugins = 'elementspath,save,font'; 
</script> 

Khi tải trang, tôi muốn vô hiệu hóa tất cả ckeditor plugins.I thử mã ở trên tuy nhiên nó đã làm không làm việc cho tôi.

Tôi làm cách nào để xóa plugin bằng javascript khi tải trang?

Bất kỳ trợ giúp nào đều đánh giá cao. Cảm ơn.

Trả lời

12

Bạn có thể xác định một danh sách các plugin để tải (CKEDITOR.config#plugins):

config.plugins = 'wysiwygarea,toolbar,basicstyles,...'; 

Nhưng bạn cũng có thể hạn chế đang tồn tại (mặc định) danh sách các plugin (CKEDITOR.config#removePlugins):

config.removePlugins = 'link,...'; 

Cả hai tùy chọn có thể được xác định trên toàn cầu (config.js) hoặc cho một phiên bản cụ thể của trình chỉnh sửa như

CKEDITOR.replace('editor1', { 
    removePlugins: 'link' 
}); 

Vui lòng tham khảo hướng dẫn chính thức của Setting Configuration để biết thêm.

Lưu ý: Vì CKEditor 4.1, sự hiện diện của plugin xác định xem nội dung loại nhất định có liên quan đến plugin đó được cho phép hay không được phép. Đọc thêm về Advanced Content Filter.

+1

Tên '' editor1'' đến từ đâu? Khi nào bạn chạy mã đó, đó là chỉ khi lần đầu tiên khởi tạo trình soạn thảo? Làm cách nào để bạn có thể thêm/xóa các plugin khi trình chỉnh sửa đã được tải? Điều này tương tác với hàm 'ckeditor()' như thế nào? Tài liệu không giải thích mọi thứ rất tốt ... – SeanKendle

+2

'editor1' là id mặc định cho vùng văn bản mà bạn muốn thay thế bằng ckeditor. bạn có thể thay đổi nó thành bất kỳ id nào trong html của riêng bạn – Acyra

+0

@Acyra Tôi muốn xóa nó cho tất cả các trường hợp của ckeditor sẽ được tạo (ví dụ DIV với contenteditable = "true" sẽ trở thành ckeditors trong tương lai khi chúng được nhấp trên). Làm thế nào để làm điều đó? Không có biến toàn cầu có tên "config" để đặt "removePlugs". Vào thời điểm CKEDITOR được xác định, có vẻ như đã quá muộn, plugin đã được tải! – Michael

2

Để trả lời câu hỏi của riêng tôi trong bình luận cho câu trả lời oleq của:

Tôi có một trường hợp ckeditor mà tôi đang sử dụng (với jQuery) như sau:

window.onload = function() { 
     $ckTarget = $(".pageContentTextBox"); 
     if ($(".pageContentTextBox").length > 0) { 
      $ckEditor = $ckTarget.ckeditor({ 
       htmlEncodeOutput: true, 
       removePlugins: "link" 
      }); 
     } 
}; 

tôi đã có thể loại bỏ thành công plugin "liên kết" theo cách đó. Tôi sẽ thiết lập một điều khiển người dùng ASP.net với các thuộc tính công cộng "extraPlugins" và "removePlugins" và chèn các giá trị bằng cách sử dụng các thẻ màu vàng phía máy khách ("mã nuggets") để có thể sử dụng trên nhiều trang khác nhau plugin đã được bật/tắt.

Tôi hy vọng rằng sẽ giúp ai đó!

Các vấn đề liên quan