如何在html中指定以下要求?
当计算机可以访问Internet时,MathJax.js的来源为https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js;
当它处于脱机状态且系统是Linux时,源为/MathJax/MathJax.js
;如果系统是Windows,则为/C:/MathJax/MathJax.js
。 (如果我可以在本地路径中使用环境变量,那会更好。)
答案 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浏览器中的文件系统运行的吗?