mpMath: 与微信公众号的斗智之旅(1)
💡
原文中文,约3500字,阅读约需9分钟。
📝
内容提要
文章讨论了mpMath与微信公众号新版编辑器不兼容的问题。作者发现微信编辑器通过MutationObserver自动移除特定标签,并编写用户脚本禁用或钩住MutationObserver。最终确认问题源于编辑器切换到ProseMirror,并通过添加参数成功避免使用新编辑器。
🎯
关键要点
- mpMath与微信公众号新版编辑器不兼容,导致公式转换功能失效。
- 微信编辑器通过MutationObserver自动移除特定标签,如mjx-container和mathml。
- 作者尝试通过用户脚本禁用MutationObserver,但影响了其他功能。
- 最终确认问题源于编辑器切换到ProseMirror,并通过添加参数成功避免使用新编辑器。
❓
延伸问答
mpMath与微信公众号新版编辑器不兼容的原因是什么?
原因是微信编辑器通过MutationObserver自动移除特定标签,导致mpMath的公式转换功能失效。
MutationObserver在微信编辑器中起什么作用?
MutationObserver用于监听页面变更,并自动移除mjx-container和mathml等标签。
作者是如何尝试解决mpMath与微信编辑器不兼容的问题的?
作者尝试通过用户脚本禁用MutationObserver,但这影响了其他功能,最终通过添加参数避免使用新编辑器。
mpMath的公式转换功能是如何工作的?
mpMath通过一键公式转换将文档中的公式绘制成SVG格式。
微信编辑器切换到ProseMirror对mpMath有什么影响?
切换到ProseMirror导致原有基于ueditor的方式不再兼容,从而影响mpMath的功能。
如何通过用户脚本解决微信编辑器的问题?
可以通过用户脚本钩住MutationObserver,控制其行为以允许mjx-container等标签存在。
🏷️
标签
➡️