2009-03-26 30 views
5

Tôi đang cố gắng để TinyMCE hoạt động. Tôi đã thử nó bằng cách sử dụng phương pháp bình thường bao gồm tiny_mce.js và sau đó sử dụng tinymce.init (...) và nó hoạt động. Sau đó tôi đã thử dùng máy nén php_mce.gzip.js + php và nó hoạt động nhưng nó thực sự rất chậm.TinyMCE: đóng gói tất cả các tệp thay vì tự động tải chúng ... có thể?

Bây giờ tôi đã đóng gói các tệp CSS và JS của mình vào một trong mỗi tệp với tất cả các tệp của tôi được ghép nối với nhau. Trong trường hợp Javascript, chúng cũng được rút gọn.

Trong cả hai trường hợp họ đang là phiên bản với một dấu thời gian của một trong các tập tin vì vậy tôi có URL như:

/script/script.1233454569.js

mà chuyển hướng đến một tập tin PHP mà một trong hai quả giao bóng phiên bản được lưu trong bộ nhớ cache hoặc tạo phiên bản được lưu trong bộ nhớ cache (nếu cần) và phục vụ phiên bản đó. Nó thêm hết hạn tiêu đề và nén gzip và về cơ bản hoạt động tốt.

Tôi muốn vừa vặn với cơ chế này nhưng điều đó chứng minh là đau đớn. Lệnh có vẻ quan trọng. Hiện nay tôi có:

  • tiny_mce.js
  • myscript.js
  • default_editor.js (từ chủ đề đơn giản)
  • en.js (ditto)

nhưng nó mọc lên với "u là không xác định" mà tôi không thể tìm thấy câu trả lời phù hợp trên google. Điều này thực sự khó chịu. Có ai có kinh nghiệm với điều này không?

Có bất kỳ trình chỉnh sửa nào khác phù hợp hơn cho việc đóng gói như tôi đã mô tả ở trên thay vì buộc các chương trình riêng của họ trên bạn (điều này làm phiền tôi không có kết thúc) không?

Trả lời

3

Tôi đã cố gắng làm điều tương tự và dành quá nhiều thời gian để thử. Cuối cùng, tôi đã quyết định sử dụng máy nén GZip do TinyMCE cung cấp và tập trung vào việc kết hợp các tệp CSS và hình ảnh cho những gì tôi cần. Vấn đề là TinyMCE lớn, nó tự động tải các tập tin cần thiết, và nó không sử dụng thư viện JavaScript hiện có, vì vậy nó kết thúc sao chép rất nhiều mã giống nhau nếu bạn đã sử dụng bất kỳ loại thư viện nào. FCKEditor là trình soạn thảo khác mà tôi cảm thấy có cùng tính năng và khả năng tương thích với trình duyệt, nhưng có vẻ như không dễ dàng hơn trong việc tích hợp vào sơ đồ bộ nhớ đệm của tôi. làm cho nó trở thành một sự lựa chọn cho tôi. Bạn có thể xem số list của người chỉnh sửa sẵn có tại đây, nhưng đó là hai người tôi cảm thấy là người giỏi nhất trong danh sách đó. Cuối cùng, tôi quyết định đi với TinyMCE và thêm một trình soạn thảo WYSIWYG cho MooTools vào danh sách công việc của tôi vì đó là khung JavaScript mà tôi thường sử dụng nhất.

Nếu bạn đột nhập vào nó, tôi sẽ đề nghị tìm ra mọi kịch bản mà bạn cần thực hiện TinyMCE cụ thể, kết hợp chúng theo thứ tự, sau đó cô lập và nhận xét mã tải mỗi tệp. Nếu bạn dũng cảm, bạn có thể thử packing tệp kết hợp. Nếu bạn làm cho nó hoạt động, tôi rất muốn biết.

+0

Tôi cơ bản đã theo logic (hoặc cố gắng) của phương pháp nén gzip để có danh sách đúng các tệp theo đúng thứ tự. Tôi vẫn còn thiếu một cái gì đó mặc dù. Nó rất khó chịu. Tôi ghét nó khi một cái gì đó là quá linh hoạt để được chỉ đơn giản là cài đặt sẵn tĩnh. – cletus

+0

Tôi cũng đã thử điều đó. Giữa đó và nhân bản mã, tôi quyết định rằng giải pháp cuối cùng của tôi sẽ được viết của riêng tôi. Tuy nhiên, như một tùy chọn khác, bạn có thể muốn xem xét trình soạn thảo Wordpress sử dụng. Nó * có thể * là TinyMCE, nhưng nó khá nhanh. – VirtuosiMedia

+0

Bạn cũng có thể muốn thử tìm trong mỗi tệp mà tệp gzip gọi để xem liệu chúng có tải bất kỳ tệp bổ sung nào (mà tôi nghi ngờ chúng làm). Cụ thể, trong tệp tiny_mce_src.js, hãy tìm kiếm "tệp:", điều này sẽ dẫn đến một loạt các nhận xét có thể chỉ ra các tệp được gọi. – VirtuosiMedia

3

Tôi cũng đã thử concatenating TinyMCE thành một kịch bản giảm thiểu, đây là những gì tôi đã làm để có được nó để làm việc:

trong tiny_mce_src.js thay đổi dòng này ...

if (n.src && /tiny_mce(|_dev|_src|_gzip|_jquery|_prototype).js/.test(n.src)) { 

là một trong hai .. .

if (n.src && /YourFullScriptName.js/.test(n.src)) { 

hoặc thậm chí chỉ là một phần của tên kịch bản ...

if (n.src && /ullScriptNa/.test(n.src)) { 

Đó là dòng mà hoạt động ra baseUrl để nó có thể tải tất cả các file khác mà TinyMCE cần. Vấn đề là, bởi vì giấy phép chúng tôi không thể làm điều này. Tôi đã có một số hy vọng bằng cách thêm điều này trước khi các tập tin tiny_mce.js nối ...

var tinyMCEPreInit = {base : 'tinymce/jscripts/tiny_mce/'}; 

sau Spocke's advice, nhưng tôi dường như không thể nhận được rằng để làm việc một trong hai. Điều duy nhất tôi có thể nghĩ đến, vì chúng tôi đang sử dụng Prototype, là tải động hoặc là _ mce.js nhỏ xíu hoặc tập lệnh _ nhỏ _gzip .js, sau đó khởi tạo (các) vùng văn bản mà chúng tôi muốn từ đó. Nhưng tôi đã hoàn thành việc đó để làm việc.

Hope this helps,

Chúc mừng,

DJDaveMark

+0

'var tinyMCEPreInit' có thể phải là' window.tinyMCEPreInit' – huyz

+0

var tinyMCEPreInit = {base: 'tinymce/jscripts/tiny_mce /' , hậu tố: '.min', truy vấn: ''}; Điều này làm việc cho tôi .. – TechieBrij

0

tôi bắt đầu lên Gzip nén và liên kết bản thân mình với Fiddler trong quá trình Rendering.

Về cơ bản, những gì đã đến trong Trình duyệt, tôi đã bắt kịp và đóng gói nó trong một tệp riêng.

Bẩn nhưng làm việc

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