我想使用MathJax来显示MathML方程,但它在IE中的表现速度慢得令人无法接受(是的,我读到了使用EmulateIE7,这也是不可接受的,因为它会破坏网站的其他区域)。
我不需要支持用户生成的方程式,并且我的大部分数据都是XML格式,因此对HTML进行XSL转换似乎是最兼容的解决方案。
理想情况下,HTML与MathJax的HTML类似/完全相同。显示图像代替整个等式是一个很差的解决方案,因为要求IE用户安装MathPlayer。
答案 0 :(得分:10)
jqmath应该快得多,并且不使用任何图像或需要MathPlayer(尽管它在可用时使用MathPlayer)。
要使用jqmath,您需要将XML方程转换为简化的类似TeX的语法,如果您已经没有使用该方法。
请让我(我们)知道这是否解决了您的问题。
答案 1 :(得分:2)
答案 2 :(得分:0)
很抱歉,答案很晚,但是MathQuill还是一个很好的工具。但是,困难的部分是必须将数学方程式放在 private Point _mStart;
private Vector _mStartOffset;
private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
{
var window = Application.Current.MainWindow;
var canvas = (Canvas) sender;
var tt = canvas.RenderTransform as TranslateTransform ;
_mStart = e.GetPosition(window);
if (tt != null) _mStartOffset = new Vector(tt.X, tt.Y);
canvas.CaptureMouse();
}
private void Grid_MouseMove(object sender, MouseEventArgs e)
{
var canvas = (Canvas)sender;
var tt = canvas.RenderTransform as TranslateTransform;
if (tt == null) return;
var window = Application.Current.MainWindow;
if (!canvas.IsMouseCaptured) return;
var offset = Point.Subtract(e.GetPosition(window), _mStart);
// if (-_mStartOffset.X + canvas.ActualWidth < window?.ActualWidth)
tt.X = _mStartOffset.X + offset.X * -1;
// if (-_mStartOffset.Y + canvas.ActualHeight < window?.ActualHeight)
tt.Y = _mStartOffset.Y + offset.Y;
}
private void Grid_MouseUp(object sender, MouseButtonEventArgs e)
{
var canvas = (Canvas)sender;
canvas.ReleaseMouseCapture();
}
中,然后再编写大量的JavaScript。
有关更多参考,请参见here。要加载MathQuill,只需添加以下内容:
<span>