关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

Bug,需求以及想法
sujianlin
帖子: 185
注册时间: 2009年 12月 26日 15:25
联系:

关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 sujianlin »

我的blog使用

http://dlippman.imathas.com/asciimathte ... llback2.js

来显示数学公式,其原理很简单,就是加在ASCIIMathMLwFallback2.js之后,就是将两个美元符号$$之间的latex解释为相应的图片。


而typecho 0.9带了可见即所得的预览功能,我突然有个设想,就是在后台也载入这个js,试试在预览区域能否预览数学公式,结果是可以的!


但是有个问题,加载了ASCIIMathMLwFallback2.js之后,全屏功能不能够用了,即时预览也不能用了,编辑器上面的按钮也不能用了。估计是两者之间有些冲突吧?会不会是JQ与ASCIIMathMLwFallback2.js的冲突?这个问题可否调和呢?


[attachment=23284,1592]

sujianlin
帖子: 185
注册时间: 2009年 12月 26日 15:25
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 sujianlin »

我在网上查找了一下,基本明白是因为两个js的美元符号冲突的问题了。typecho在引入jq时有没有考虑到这个问题呢?

sujianlin
帖子: 185
注册时间: 2009年 12月 26日 15:25
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 sujianlin »

另外,我尝试把admin目录所有php的$(都替换成JQuery(,仅仅做了这一处理,没有加载ASCIIMathMLwFallback2.js,但是后台编辑器的各种功能已经不能用了,不知道为什么呢

头像
lizheming
帖子: 281
注册时间: 2010年 10月 3日 10:24
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 lizheming »

后台的js都是jQuery写的,为了LaTex去替换全部的jQuery符号麻烦且不说,而且还不保证能正常工作,反倒是你换一个jQuery写的LaTex插件会比较好一点。

sujianlin
帖子: 185
注册时间: 2009年 12月 26日 15:25
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 sujianlin »

回复 @公子 的 帖子:

我有几点看法,第一点刚才说的:

1、我尝试把admin目录所有php的$(都替换成JQuery(,仅仅做了这一处理,没有加载ASCIIMathMLwFallback2.js,但是后台编辑器的各种功能已经不能用了,不知道为什么呢?

理论上$(跟JQuery(完全等价呀?

2、采用双美元符号来标记显示latex是一种通用的方法,虽然网络的latex没有jquery流行;

3、不仅仅latex的js可能跟jquery冲突呀...其他也有可能,对于typecho来说,我觉得这方面的兼容性应该可以做得更好

头像
lizheming
帖子: 281
注册时间: 2010年 10月 3日 10:24
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 lizheming »

1、你在前面添加了jQuery.noconflict(); 了么,加了这句才是等价的,当然加了也会出问题也不奇怪,毕竟程序替换谁知道替换了什么不应该替换的东西呢...


2、我觉得应该不是LaTex的标记符和jQuery有冲突,因为LaTex的东西最后都是字符串,字符串的标记是不会被解析的。所以应该还是你用的这个插件的问题。


3、后台方面的话怎么说呢,这样说吧。0.9以前用的是Moontools框架,结果很多写jQuery代码的不干了,尼玛完全不会这货啊!但是最后怎么办呢..没办法,要么用Moontools写要么自己开辟新空间(jQuery.noconflict())。所以说这种和基本的(jQuery框架)造成不兼容的话只能你去适应程序,不能因为你一个需求而否定程序的基础。话说的有点死,不过应该表达出了我的意思。


最后,我不是很了解LaTex,这里的说法都是已你说的你使用的LaTex解析插件和jQuery有冲突的假设下说的,如果有错误还请指正。

sujianlin
帖子: 185
注册时间: 2009年 12月 26日 15:25
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 sujianlin »

回复 @公子 的 帖子:

我的latex加载在jq之前,而且我已经替换了js和php中所有的美元符号。因此从理论上来说,应该是我的latex优先占用$才对,但事实却不是这样。

而且加了jQuery.noConflict()之后好像所有jq的效果都没有了。


latex的机制是将两个美元符号之间的内容解析为图片,jq是将$解释为jQuery,两者不冲突吗?


其实我不懂代码,但是在网上搜索发现可以用区块的方法限制jq的$的使用区域,不知道这个有用不?另外我不一定要求typecho要改过来,只不过是我希望能有我的一个解决办法,就算一个个改代码也行呀~

头像
lizheming
帖子: 281
注册时间: 2010年 10月 3日 10:24
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 lizheming »

sujianlin
帖子: 185
注册时间: 2009年 12月 26日 15:25
联系:

Re: 关于ASCIIMathMLwFallback2.js和typecho编辑器的冲突

帖子 sujianlin »

能不能实现只在某一个区块(编辑器预览那里)加载第三方js?

回复