Posted 21 июня, 20222 yr comment_182498 Всем привет! Имеется форум на движке Invision Community версии 4.6.12 с установленным плагином MathJax в штатном редакторе. При создании сообщений проблем нет, формулы вставляются корректно и отображаются при редактировании тоже правильно. Но стоит только процитировать что-либо уже содержащее формулу mathjax, то в цитате всё ломается, формула теряется и результат (сообщения) выглядит совершенно некорректно: Сверху правильно отображаемая формула, внутри цитаты она же, но после цитирования. Видно, что её содержимое поплыло. В чём может быть проблема цитирования кода, в составе которого есть mathjax?
21 июня, 20222 yr comment_182499 dmakc привет. может в настройках редактора по копаться? может чего получиться? просто такую кнопку себе не ставил. ничего сказать точно не могу Спойлер
21 июня, 20222 yr Author comment_182501 5 минут назад, SlawkA сказал: может в настройках редактора по копаться? может чего получиться? просто такую кнопку себе не ставил. ничего сказать точно не могу В настройках все на минималках, конфигурирование идёт через config.js в директории ckeditor. Но там, как я понял, к этой проблеме ничего относящегося поменять не получится. Как я понимаю логика такая: при выделении или при нажатии на кнопку "Цитата" в сообщение вставляется оттранслированный MathJax HTML из DOM. А нужно, чтобы вставлялся исходный код MathJax, как будто бы до трансляции. MathJax для себя оставляет исходный нетранслированный код под тегом script с атрибутом type="math/tex", как заставить обработчик вставки цитаты правильно его оттуда выдернуть я не понимаю.
21 июня, 20222 yr comment_182505 dmakc мне кажется это редактор не правильно вставляет, и причина точно в нем, а не в движке. но блин редактор пока мной не изучен полностью. может кто подскажет другой
27 ноября, 20222 yr comment_187948 @Desti Спасибо. Я думаю, что важно понимать, как работает MathJax, чтобы решить эту проблему. Позвольте мне привести пример: - Содержание поста, сохраненное в базе данных: «У нас есть $a^2 + b^2 = c^2$». - Если на стороне клиента включен javascript, то MathJax проанализирует формулу, и она будет отображаться как: «У нас есть a2 + b2 = c2» - Если javascript отключен, то пользователь увидит «У нас есть $a^2 + b^2 = c^2$» (как хранится в базе данных, MathJax требует javascript, который отключен, поэтому формула не анализируется). Теперь при нажатии на кнопку «Цитировать» текущее поведение заключается в том, что он будет цитировать отображаемый контент, а не то, что находится внутри базы данных, что не очень хорошо. Есть ли способ заставить редактора цитировать фактическое содержание сообщения, которое хранится в базе данных? (Извините, я перевел этот пост с английского, поэтому он может быть не очень понятен.)
28 ноября, 20222 yr comment_187954 11 часов назад, n00b сказал: Есть ли способ заставить редактора цитировать фактическое содержание сообщения, которое хранится в базе данных? Вылезет куча проблем, начиная от определения необходимости делать такой запрос (если в цитате нет MathJax, то запрос не нужен) и заканчивая поиском нужного фрагмента при частичном цитировании (если, например, процитировать только формулу, то ее не получится найти в сообщении в базе). Как вариант - доработать скрипт MathJax так, чтобы он создавал не только свой объект, но и невидимый объект с оригиналом формулы и при цитировании использовать его.
28 ноября, 20222 yr comment_187968 @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.