blog正式转移到了这里:

http://blog.phoeagon.cz.cc



I know

phoeagon啲01世界

2010 年 10 月 11 日  星期一   晴天


跨站jsMath实现 分類: 滑鼠人生

前面发过说本blog基本搞定了jsMath架设。

用于显示数学公式。。

我的情况是这样的。。。

这个blog是不能额外上传整个jsMath包并保持目录结构的。但是我有在sf上的userweb服务上可以,还附带SSH可以很方便连接和控制。该服务器确实是支持cgi、php等的。可是首先搬迁blog不方便。

第二,我试图架设其他一些cgi基础的TEX支持都不成功,sf服务器的cgi-bin目录的权限似乎不允许我的cgi新建文件,即使我chmod 777.

最后发现这个jsMath是效果不错的。

也许会有许多类似我这样的情况。比如说希望集中许多装置到一个core server上,,外围blog什么的由ISP发。

jsmath哉这里

为了实现插入,我先是写了个单独先是对应公式的网页。

本来是直接放到$$号里面就可以了。但是

这里有个问题~~就是,一般来说是不会安装那个TEX字体的。

所以要么使用图像符号,要么外带字体。

我选择尽可能利用CSS外联字体。

但是js脚本检测始终会认为client没有安装对应字体而转为效果较差的图片。

于是不得不在里面放一个"visibility:hidden"的一行字用上所有的字体。

然后载入jsMath。此时字体已经载入浏览器。

之后用setTimeout延时,清除掉原来的字。

 

其实完全可以用静态什么的,还是随手打了个php:

<?
//header("Content-type: plain/html");
?>
<html><head>
<link rel="stylesheet" type="text/css" href="http://phoeagon.users.sourceforge.net/math/setfont.css">
</head><body>
<b style="visibility:hidden" id="loadfont">
<font style="font-family: jsMath-cmmi10; font-size:1px">abc</font><font style="font-family: jsMath-cmbx10; font-size:1px">abc</font><font style="font-family: jsMath-cmex10; font-size:1px">abc</font><font style="font-family: jsMath-cmmi10; font-size:1px">abc</font><font style="font-family: jsMath-cmr10; font-size:1px">abc</font><font style="font-family: jsMath-cmsy10; font-size:1px">abc</font><font style="font-family: jsMath-cmti10; font-size:1px">abc</font>
</b>
<?
    $eqn = rawurldecode($_GET["code"]);
    echo "$$".$eqn."$$";
    //echo $eqn;
?>
<script language="javascript">
setTimeout( "document.getElementById(\"loadfont\").innerHTML = \"\";", 3000);
</script>
<script src="http://phoeagon.users.sourceforge.net/math/jsMath-3.6e/easy/load.js"></script>
<script language="javascript">
setTimeout("document.body.scrollTop=document.body.scrollHeight",3000);
</script>
<html>

然后,还是因为js的跨域问题。。。

只能实现为,在blog首页加javascript:

<script>
function getcode(str,height,width)
{
if(height==null) height = '80';    if(width==null) width = '220';
var str1="http://phoeagon.users.sourceforge.net/conveqn.htm?code=";
str = encodeURI(str);
str = str.replace("+", "%2B");    str = str.replace("/", "%2F");
str1 = str1 + str;
return '<iframe frameborder="0" id="testt" height="'
    +height+'" width="'+width+'" scrolling="auto" src="'+
    str1+'"></iframe>';
}
function equation(str,height,width)
{
document.write(getcode(str,height,width));
}
</script>

于是加入公式要<script>equation("\pi x^2",100,100);</script>之所以用js加是因为跨域传递公式要先escape那个字符串。

后来觉得把\改成\\输入实在麻烦。

于是直接把公式放到<eq></eq>标签里,用js处理这个标签。。。

就是现在这个样子了。。。






訪客留言 (返回 phoeagon 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]







人氣:66316
暱稱: phoeagon
性別: 男
MORE...  
« June 2017 »
SMTWTFS
123
45678910
11121314151617
18192021222324
252627282930
» 最新日誌
Blog Moved!
跨站jsMath实现
路由表是个好东西
Twitter Fav列表达陈100...
搞定了公式显示
» 日誌分類
全部 (175)
Code Storage (11)
Math&Phy@Chem@MM (8)
Music Anyway (5)
Programming Impossible (28)
RSS提示 (2)
StorageBox (5)
'Bout Here (12)
滑鼠人生 (42)
碎屑 (51)
未分類 (11)
» 訪客留言
Priligy Home... (Chassype)
On Sale Fede... (Chassype)
5mg Propecia... (Chassype)
Best Rx Life... (Chassype)
Priligy Uk A... (Chassype)
» 最近訪客
最近沒有訪客
» 每月文章
» 日誌訂閱
尚未訂閱任何日誌
» 我的好友
» 我的連結
Ink Mark --Jlim
StarKirby
|S||S||S|
「流年祭」
» 日誌統計
文章總數: 175
留言總數: 71
今日人氣: 30
累積人氣: 66316
» 站內搜索
RSS Feed