如何使MathJax.js环境的源(路径)依赖?

时间:2012-06-11 00:52:33

标签: javascript mathjax

如何在html中指定以下要求?

当计算机可以访问Internet时,MathJax.js的来源为https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js;

当它处于脱机状态且系统是Linux时,源为/MathJax/MathJax.js;如果系统是Windows,则为/C:/MathJax/MathJax.js。 (如果我可以在本地路径中使用环境变量,那会更好。)

2 个答案:

答案 0 :(得分:3)

您可以将MathJax放在相对于静态HTML文件的位置:

<script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js"></script>
<script>
if( !window.MathJax ) {
    document.write(
        '<script type="text\/javascript" src="../lib/MathJax.js"><\/script>'
    );
}
</script>

这样您的实现就独立于操作系统。

另一种选择是根据您的浏览器网址设置位置:

<script>
var url= location.protocol == 'http:'? 
         "https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js" :
         "../lib/MathJax.js";
document.write(
    '<script type="text\/javascript" src="' + url + '"><\/script>'
);
</script>

答案 1 :(得分:2)

这些其他页面可能会为您提供解决方案的一些新方法。

第一个演示了如何将url列表链接在一起,并继续尝试加载下一个脚本(如果前一个脚本失败)。

Failover loading of .js from sequence of servers?

您需要将Windows与Linux之间的逻辑添加到其中。

以下是有关检测网页是否脱机运行的一些想法: Detect that the Internet connection is offline?

如果您可以提供有关您的应用程序的更多信息,我可能会提出一些更好的建议。这是应用程序用户在其本地计算机上安装的吗?这些JS文件如何进入人们的C:\?安装应用程序时安装了什么?它是如何运行的?是否还安装了本地服务器?或者html页面是从Web浏览器中的文件系统运行的吗?