Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

Posted

Всем привет!

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

image.png.8f5655cc635759a1464a0784e70ff3e4.png

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

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

dmakc привет.

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

Спойлер

43.thumb.png.1d2781e9a838aec5e07c2174f93283b7.png

 

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

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

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

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

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

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

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

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

 

@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), и оно просто работает: исходные (неразобранные) формулы цитируются вместо разобранных.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.