dmakc Опубликовано 21 июня, 2022 Поделиться Опубликовано 21 июня, 2022 Всем привет! Имеется форум на движке Invision Community версии 4.6.12 с установленным плагином MathJax в штатном редакторе. При создании сообщений проблем нет, формулы вставляются корректно и отображаются при редактировании тоже правильно. Но стоит только процитировать что-либо уже содержащее формулу mathjax, то в цитате всё ломается, формула теряется и результат (сообщения) выглядит совершенно некорректно: Сверху правильно отображаемая формула, внутри цитаты она же, но после цитирования. Видно, что её содержимое поплыло. В чём может быть проблема цитирования кода, в составе которого есть mathjax? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SlawkA Опубликовано 21 июня, 2022 Поделиться Опубликовано 21 июня, 2022 dmakc привет. может в настройках редактора по копаться? может чего получиться? просто такую кнопку себе не ставил. ничего сказать точно не могу Спойлер Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
dmakc Опубликовано 21 июня, 2022 Автор Поделиться Опубликовано 21 июня, 2022 5 минут назад, SlawkA сказал: может в настройках редактора по копаться? может чего получиться? просто такую кнопку себе не ставил. ничего сказать точно не могу В настройках все на минималках, конфигурирование идёт через config.js в директории ckeditor. Но там, как я понял, к этой проблеме ничего относящегося поменять не получится. Как я понимаю логика такая: при выделении или при нажатии на кнопку "Цитата" в сообщение вставляется оттранслированный MathJax HTML из DOM. А нужно, чтобы вставлялся исходный код MathJax, как будто бы до трансляции. MathJax для себя оставляет исходный нетранслированный код под тегом script с атрибутом type="math/tex", как заставить обработчик вставки цитаты правильно его оттуда выдернуть я не понимаю. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SlawkA Опубликовано 21 июня, 2022 Поделиться Опубликовано 21 июня, 2022 dmakc мне кажется это редактор не правильно вставляет, и причина точно в нем, а не в движке. но блин редактор пока мной не изучен полностью. может кто подскажет другой Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
n00b Опубликовано 27 ноября, 2022 Поделиться Опубликовано 27 ноября, 2022 @dmakc Пожалуйста, вы смогли решить эту проблему? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 27 ноября, 2022 Поделиться Опубликовано 27 ноября, 2022 В цитатах не заработает, они не парсятся. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
n00b Опубликовано 27 ноября, 2022 Поделиться Опубликовано 27 ноября, 2022 @Desti Спасибо. Я думаю, что важно понимать, как работает MathJax, чтобы решить эту проблему. Позвольте мне привести пример: - Содержание поста, сохраненное в базе данных: «У нас есть $a^2 + b^2 = c^2$». - Если на стороне клиента включен javascript, то MathJax проанализирует формулу, и она будет отображаться как: «У нас есть a2 + b2 = c2» - Если javascript отключен, то пользователь увидит «У нас есть $a^2 + b^2 = c^2$» (как хранится в базе данных, MathJax требует javascript, который отключен, поэтому формула не анализируется). Теперь при нажатии на кнопку «Цитировать» текущее поведение заключается в том, что он будет цитировать отображаемый контент, а не то, что находится внутри базы данных, что не очень хорошо. Есть ли способ заставить редактора цитировать фактическое содержание сообщения, которое хранится в базе данных? (Извините, я перевел этот пост с английского, поэтому он может быть не очень понятен.) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 28 ноября, 2022 Поделиться Опубликовано 28 ноября, 2022 11 часов назад, n00b сказал: Есть ли способ заставить редактора цитировать фактическое содержание сообщения, которое хранится в базе данных? Вылезет куча проблем, начиная от определения необходимости делать такой запрос (если в цитате нет MathJax, то запрос не нужен) и заканчивая поиском нужного фрагмента при частичном цитировании (если, например, процитировать только формулу, то ее не получится найти в сообщении в базе). Как вариант - доработать скрипт MathJax так, чтобы он создавал не только свой объект, но и невидимый объект с оригиналом формулы и при цитировании использовать его. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
n00b Опубликовано 28 ноября, 2022 Поделиться Опубликовано 28 ноября, 2022 @DestiЭто кажется слишком сложным. Я не уверен, почему эта проблема характерна только для IPS, потому что я тестировал другое программное обеспечение (включая Xenforo), и оно просто работает: исходные (неразобранные) формулы цитируются вместо разобранных. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.