Перейти к содержанию

Цитаты контента, полученного с помощью плагина Mathjax в CKEditor


Рекомендуемые сообщения

Всем привет!

Имеется форум на движке Invision Community версии 4.6.12 с установленным плагином MathJax в штатном редакторе. При создании сообщений проблем нет, формулы вставляются корректно и отображаются при редактировании тоже правильно. Но стоит только процитировать что-либо уже содержащее формулу mathjax, то в цитате всё ломается, формула теряется и результат (сообщения) выглядит совершенно некорректно:

image.png.8f5655cc635759a1464a0784e70ff3e4.png

Сверху правильно отображаемая формула, внутри цитаты она же, но после цитирования. Видно, что её содержимое поплыло.

В чём может быть проблема цитирования кода, в составе которого есть mathjax?

Ссылка на комментарий
Поделиться на другие сайты

dmakc привет.

может в настройках редактора по копаться? может чего получиться? просто такую кнопку себе не ставил. ничего сказать точно не могу

Спойлер

43.thumb.png.1d2781e9a838aec5e07c2174f93283b7.png

 

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, SlawkA сказал:

может в настройках редактора по копаться? может чего получиться? просто такую кнопку себе не ставил. ничего сказать точно не могу

В настройках все на минималках, конфигурирование идёт через config.js в директории ckeditor. Но там, как я понял, к этой проблеме ничего относящегося поменять не получится.

Как я понимаю логика такая: при выделении или при нажатии на кнопку "Цитата" в сообщение вставляется оттранслированный MathJax HTML из DOM. А нужно, чтобы вставлялся исходный код MathJax, как будто бы до трансляции. MathJax для себя оставляет исходный нетранслированный код под тегом script с атрибутом type="math/tex", как заставить обработчик вставки цитаты правильно его оттуда выдернуть я не понимаю.

Ссылка на комментарий
Поделиться на другие сайты

dmakc мне кажется это редактор не правильно вставляет, и причина точно в нем, а не в движке.

но блин редактор пока мной не изучен полностью.

может кто подскажет другой

Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...

@dmakc Пожалуйста, вы смогли решить эту проблему?

Ссылка на комментарий
Поделиться на другие сайты

В цитатах не заработает, они не парсятся.

Ссылка на комментарий
Поделиться на другие сайты

 

@Desti Спасибо.

Я думаю, что важно понимать, как работает MathJax, чтобы решить эту проблему. Позвольте мне привести пример:

- Содержание поста, сохраненное в базе данных: «У нас есть $a^2 + b^2 = c^2$».

- Если на стороне клиента включен javascript, то MathJax проанализирует формулу, и она будет отображаться как: «У нас есть a2 + b2 = c2»

- Если javascript отключен, то пользователь увидит «У нас есть $a^2 + b^2 = c^2$» (как хранится в базе данных, MathJax требует javascript, который отключен, поэтому формула не анализируется).

Теперь при нажатии на кнопку «Цитировать» текущее поведение заключается в том, что он будет цитировать отображаемый контент, а не то, что находится внутри базы данных, что не очень хорошо. Есть ли способ заставить редактора цитировать фактическое содержание сообщения, которое хранится в базе данных?

(Извините, я перевел этот пост с английского, поэтому он может быть не очень понятен.)

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, n00b сказал:

Есть ли способ заставить редактора цитировать фактическое содержание сообщения, которое хранится в базе данных?

Вылезет куча проблем, начиная от определения необходимости делать такой запрос (если в цитате нет MathJax, то запрос не нужен) и заканчивая поиском нужного фрагмента при частичном цитировании (если, например, процитировать только формулу, то ее не получится найти в сообщении в базе). 

Как вариант - доработать скрипт MathJax так, чтобы он создавал не только свой объект, но и невидимый объект с оригиналом формулы и при цитировании использовать его. 

 

 

Ссылка на комментарий
Поделиться на другие сайты

@DestiЭто кажется слишком сложным. Я не уверен, почему эта проблема характерна только для IPS, потому что я тестировал другое программное обеспечение (включая Xenforo), и оно просто работает: исходные (неразобранные) формулы цитируются вместо разобранных.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...