2014-11-10 14 views
5

Tôi có một trang chứa một phiên bản trình soạn thảo tinymce4. Tôi muốn khởi tạo trình soạn thảo này với một số nội dung, theo lập trình. Tôi biết rằng tôi phải gọi: tinymce.get('editor').setContent('my content');khởi tạo tinymce với nội dung

Tuy nhiên tôi gặp khó khăn khi thực hiện việc này khi tinymce đang được khởi tạo. Câu hỏi này đã được hỏi: initialize tinyMCE with default content nhưng câu trả lời được đưa ra tại thời điểm đó không hoạt động, ít nhất là đối với tinymce4.

Dưới đây là những gì tôi đã cố gắng:

nỗ lực 1:

tinymce.init({ 
     mode: "textareas", 
     ... 
     setup: function (editor) { 
     ... 
     editor.setContent('my content'); 
     } 
    }); 

-> lỗi chưa gặp: Không thể đọc thuộc 'cơ thể' không xác định

2nd nỗ lực:

tinymce.init({ 
     mode: "textareas", 
     ... 
    }; 
    tinymce.get('editor').setContent('my content'); 

-> Loại không bắt buộcLỗi: Không thể đọc thuộc tính 'setContent' của null (tuy nhiên nếu tôi làm điều này khi trang chứa trình soạn thảo tinymce đã được tải, nó hoạt động).

3rd nỗ lực (SO 12.083.361 câu trả lời):

$(document).ready(function(){ 
    tinymce.get('editor').setContent('my content'); 
}); 

-> của router Lỗi Loại: Không thể đọc thuộc 'setContent' null

Tất cả điều này không thành công với tinymce.activeeditor.setContent('my content'); là tốt.

Tôi nên đặt mã tinymce.get('editor').setContent('my content'); vào mã nào để mã hoạt động?

Trả lời

3

Với phiên bản 4 bạn nên làm điều đó như thế này:

tinymce.init({selector:'textarea'}); 
tinymce.activeEditor.setContent('custom'); 

Dưới đây là một fiddle.

+2

này là tốt ... nhưng thiếu khi có nhiều biên tập viên trên một trang mà cần phải được nhắm mục tiêu riêng :-( –

+0

gì nếu chúng ta có nhiều hơn thì một RTE trên trang? Is có giải pháp nào khác ... –

0

Tôi đã sử dụng init_instance_callback, được kích hoạt khi trình chỉnh sửa sẵn sàng setContent.

var options = { ... }; 
 
options.init_instance_callback = function (editor) { 
 
    editor.setContent(initialContent); 
 
}; 
 
$("some-selector").tinymce(options);

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