【发布时间】:2013-04-23 07:19:55
【问题描述】:
How do i accept MathML? 的问题已经解释了如何使用本地 Windows 代码处理来自 Windows 7 和 Windows 8 数学输入面板的输出。
是否可以仅使用 JavaScript 对任何网络浏览器执行相同操作(即不允许使用 silverlight 或任何其他插件)?我知道 MathML 输入在剪贴板上,但它被声明为非文本(尽管它确实是 application/mathml 或更确切地说是 UTF-16LE encoded XML with MathML markup with a BOM at the start of the data)。我的目标是将MathML 设为UTF-8 encoded text,并通过TinyMCE 进一步嵌入该文本。生成的 MathML 稍后将由 MathJax 呈现,但也可以由服务器处理。缺少的部分是从剪贴板中提取正确的数据。至于 TinyMCE 和 JavaScript(我正在使用它)看到的剪贴板,当它真正包含 How do i accept MathML? 中描述的格式时,它总是空的。
我更喜欢支持 MSIE 10 和最新版本的 Firefox 和 Google Chrome。但是,从短期来看,我可以只支持在 Windows 8 上运行的单个浏览器。我真的很想避免任何插件依赖,即使支持在 Windows 8 上运行的单个浏览器。
如果有人可以向我展示代码,以便仅使用 JavaScript 在 alert() 中显示来自 数学输入面板 中的 MathML(jquery 和 TinyMCE 依赖项都可以,如果这些帮助),其余的我可以处理。
【问题讨论】:
-
至于选择从剪贴板粘贴的正确面粉,如果没有浏览器插件,似乎不可能做到这一点。您是否使用 CLCL 来检查剪贴板内容及其风格?
-
我试过peterbuettner.de/develop/tools/clipview 来检查剪贴板。看起来
MathML实际上是用UTF-16LE编码的BOM而不是普通的UTF-8。 -
这个工具已经足够好了。为你的好问题 +1
标签: javascript html clipboard mathml