没——问题 发表于 2010-2-9 00:02:43

网站公式展示优化方案

将帖子中的公式图片处理为base64编码,然后直接放在html的img标签里(这是符合w3c的)。
也就是将图片文本化与帖子内容一同存储在数据库里了。
这样可以
1、提高公式的展示速度
2、无须用户装任何插件(甚至不支持js都行,但当然discuz本身不能没有js)
3、减少公益latex服务器的负载
转换可以放在帖子编辑完成后的保存过程(后台)
预览时也可以用类似方法处理但并不提高相应效率
----------
只是觉得这想法本身还不错,所以分享下
我其实觉得这还是比较复杂的,论坛又没有专职的技术人员,所以没必要作这种修改

gxqcn 发表于 2010-2-9 07:41:50

因为帖子还需要编辑功能,
所以需要 文本←→图形 的双向可逆过程,
其中文本需要符合人们手写输入习惯,
图形需要简洁直观美观,
这都不是个简单过程。

282842712474 发表于 2010-2-9 08:54:48

更重要的,按照楼主主要处理后,就无法支持火狐等的mathml了

没——问题 发表于 2010-2-9 10:19:26

2# gxqcn

再编辑 到是容易实现,不过还真没注意到gxqcn竟也设计了mathml的支持(虽然我也用了很久的firefox...)
latex源码可以放在img的alt属性里(一般将公式转换为图片插件都是这么做的),这样在编辑时可以转换为任意形式

3楼,其实没有人直接使用mathml写公式

282842712474 发表于 2010-2-9 16:04:34

2# gxqcn

再编辑 到是容易实现,不过还真没注意到gxqcn竟也设计了mathml的支持(虽然我也用了很久的firefox...)
latex源码可以放在img的alt属性里(一般将公式转换为图片插件都是这么做的),这样在编辑时可以 ...
没——问题 发表于 2010-2-9 10:19 http://bbs.emath.ac.cn/images/common/back.gif
不是直接写mathml,是如果你使用火狐浏览器,那么他就会把代码解析成为mathml,而不是显示图片,这样在多公式的情况下会更快,公式相对也漂亮一些

gxqcn 发表于 2010-2-10 08:03:28

公式的表现不仅仅是内容,还有字体、颜色、大小等,它们有些是外围标签,这是固定图形(图片)无法自适应的。
比如代码为:
这是1号size:e^{i\pi}+1=0
这是2号size:e^{i\pi}+1=0
这是3号size:e^{i\pi}+1=0
这是4号size:e^{i\pi}+1=0
这是5号size:e^{i\pi}+1=0
这是6号size:e^{i\pi}+1=0
这是7号size:e^{i\pi}+1=0

这是正常字体:e^{i\pi}+1=0
加粗字体:e^{i\pi}+1=0
斜体:e^{i\pi}+1=0
加下划线:e^{i\pi}+1=0

这是黑体:e^{i\pi}+1=0
Verdana字体:e^{i\pi}+1=0
效果如下:
这是1号size:e^{i\pi}+1=0
这是2号size:e^{i\pi}+1=0
这是3号size:e^{i\pi}+1=0
这是4号size:e^{i\pi}+1=0
这是5号size:e^{i\pi}+1=0
这是6号size:e^{i\pi}+1=0
这是7号size:e^{i\pi}+1=0

这是正常字体:e^{i\pi}+1=0
加粗字体:e^{i\pi}+1=0
斜体:e^{i\pi}+1=0
加下划线:e^{i\pi}+1=0

这是黑体:e^{i\pi}+1=0
Verdana字体:e^{i\pi}+1=0

gxqcn 发表于 2010-2-10 08:06:09

颜色是因为我强制将公式以blue显示,否则它也会随着外围颜色变化而变化。
TeX里的字体也被我强制设置成了“Times New Roman”,否则它也会随着外围字体变化而变化。

从上贴可看出,数学公式要与其它文字相协调,不仅仅与其自身内容相关。

没——问题 发表于 2010-2-10 14:40:38

恩,很不错,见识了
页: [1]
查看完整版本: 网站公式展示优化方案