2012-03-27 67 views
0

我有一個網頁,使用mathjax渲染乳膠方程。 爲了加載方程更快,我試圖避免預處理步驟,通過更換Mathjax加載問題

數學定界符由<span class="MathJax_Preview">[loading...]</span><script type="math/tex;"> latex equation here </script>

但問題是;而呈現,附帶的方程中的HTML實體被示出爲這樣的,因此方程 不會呈現properly.For例如,「&」用於多個步驟的對準。但它顯示爲&

替換數學分隔符<script>標記是動態完成的。如果我刪除了這一步,那麼上述問題就不存在了,並且方程中的html實體被正確渲染。

我怎樣才能解決這個問題?

我的最終目標是使方程式加載速度更快。 顯示類似[loading ...]的預處理器,直到數學完全排版。

感謝,

LS開發

回答

0

注意,<script type="math/tex">的內容是TeX的(或膠乳),而不是HTML,所以HTML實體不應該包括在那裏。 HTML中任何<script>的內容都是CDATA,因此不會執行任何處理,包括實體轉換。

如果您使用像&#65;&#x41;這樣的數字實體,那麼很容易用它們代表的字符替換它們。如果您使用的是命名實體,那麼您需要通過查表或其他過程將它們轉換爲其字符。更好的辦法是不要把實體放在首位。你不能執行這一步嗎? (我假設這是在您的控制之外完成的。)

請注意,MathJax中的預處理步驟實際上相當快,除非擁有大量方程式,否則不會成爲瓶頸。這是轉換到HTML是時間下沉。如果您沒有使用其中一個組合配置文件,則只需移除其中一個配置文件,而不是通過移除預處理器步驟即可獲得更好的改進。如果您已經在使用組合配置文件,但沒有使用「-full」版本,那麼移動到該位置也會加快數學運算的速度(因爲您不必等待輸入和輸出jax在第一次使用時加載)。

+0

我使用的是組合配置,而不是 - 全version.Now我會改變完整版。 – 2012-03-28 02:03:30