TinyMCE: упаковка всех файлов вместо их динамической загрузки ... возможно? - PullRequest
5 голосов
/ 26 марта 2009

Я пытаюсь заставить TinyMCE работать. Я попробовал его, используя обычный метод включения tiny_mce.js, а затем с помощью tinymce.init (...), и это работает. Затем я попробовал tiny_mce.gzip.js + php компрессор, и он работал, но он был очень медленным.

Теперь я уже упаковал свои файлы CSS и JS в один из них, и все мои файлы были объединены вместе. В случае с Javascript они также уменьшены.

В обоих случаях они имеют версию одного из файлов, поэтому у меня есть URL-адреса, такие как:

/ скрипт / script.1233454569.js

, который перенаправляет в файл PHP, который либо обслуживает кэшированную версию, либо создает кэшированную версию (при необходимости) и обслуживает ее. Он добавляет заголовки expires и выполняет сжатие gzip и в основном работает хорошо.

Я хочу добавить крошечный mce в этот механизм, но он оказывается болезненным. Кажется, порядок имеет значение. В настоящее время у меня есть:

  • tiny_mce.js
  • myscript.js
  • default_editor.js (из простой темы)
  • ru.js (то же самое)

но он придумал "ты не определен", для которого я не смог найти подходящий ответ в Google. Это действительно раздражает. У кого-нибудь есть опыт с этим?

Подходят ли другие редакторы для упаковки, как я описал выше, вместо того, чтобы навязывать вам свои собственные схемы (что меня бесит)?

Ответы [ 3 ]

3 голосов
/ 03 мая 2009

Я также пытался объединить TinyMCE в один свернутый скрипт, вот что я сделал, чтобы заставить его работать:

in tiny_mce_src.js изменить эту строку ...

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

быть либо ...

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

или даже просто часть имени скрипта ...

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

Это та строка, которая обрабатывает baseUrl, поэтому она может загружать все остальные файлы, которые нужны TinyMCE. Дело в том, что из-за лицензии мы не можем этого сделать. У меня была некоторая надежда, добавив это перед объединенным файлом tiny_mce.js ...

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

следуя совету Спока , но я тоже не могу заставить его работать. Единственное, о чем я могу думать, так как мы используем Prototype, это динамически загружать либо крошечный _ mce.js, либо крошечный _ mce _ gzip .js, затем инициализируйте текстовые области, которые мы хотим оттуда. Но я далека от того, чтобы заставить это работать.

Надеюсь, это поможет,

Приветствия

DJDaveMark

3 голосов
/ 26 марта 2009

Я пытался сделать то же самое и потратил слишком много времени, пытаясь. В итоге я остановился на использовании компрессора GZip, предоставленного TinyMCE, и сосредоточился на объединении файлов CSS и изображений для того, что мне было нужно. Проблема в том, что TinyMCE имеет большой объем, он динамически загружает нужные ему файлы и не использует существующую библиотеку JavaScript, поэтому он заканчивает тем, что реплицирует большую часть того же кода, если вы уже используете какую-либо библиотеку. FCKEditor был единственным другим редактором, который, как мне казалось, имел те же функции и совместимость с браузером, но не выглядел так, как будто это будет легче с точки зрения интеграции в мою схему кэширования (которая звучит похоже на вашу ) и я думаю, что лицензирование сделало это для меня выбором. Вы можете посмотреть список редакторов, доступных здесь, но это были те два, которые я считаю лучшими из этого списка. В конце концов, я решил пойти с TinyMCE и добавил в свой список дел создание редактора WYSIWYG для MooTools, так как это среда JavaScript, которую я чаще всего использую.

Если бы вы взломали его, я бы предложил выяснить каждый сценарий, который необходим вашей конкретной реализации TinyMCE, объединить их по порядку, а затем изолировать и закомментировать код, который загружает каждый файл. Если вы храбры, то можете попробовать упаковка объединенный файл. Если вы заставите его работать, я бы хотел знать.

0 голосов
/ 13 июля 2009

Я запустил Gzip Compressor и связался с Fiddler в процессе рендеринга.

По сути, это то, что появилось в Браузере, которое я перехватил и упаковал в собственный файл.

Грязно, но работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...