我正在部署一个Google Web应用程序以使用LaTeX / Xy-pic编写可交换图。 在html页面的标题中,我进行了以下配置:
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
"HTML-CSS": {
styles: {".MathJax_Preview": {visibility: "hidden"}}
},
tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]},
TeX: {extensions:
["AMSmath.js","AMSsymbols.js","http://sonoisa.github.io/xyjax_ext/xypic.js"]}
});
</script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js">
</script>
问题是文件 http://sonoisa.github.io/xyjax_ext/xypic.js 未被加载,因为它来自http来源。这是我在控制台中看到的消息:
MathJax.js:19 Mixed Content: The page at 'https://script.google.com/' was loaded over HTTPS, but requested an insecure script 'http://sonoisa.github.io/xyjax_ext/xypic.js?V=2.7.5'. This request has been blocked; the content must be served over HTTPS.
我尝试改用 https://sonoisa.github.io/xyjax_ext/xypic.js ,但这根本不起作用。
有什么建议吗?
答案 0 :(得分:2)
防止出现此问题的错误消息的一种方法是将代码从引用的JavaScript库复制到Google Apps脚本项目。
以上操作可以通过几种方式来完成,具体取决于您希望如何管理代码,但是根据https://developers.google.com/apps-script/guides/html/best-practices#separate_html_css_and_javascriptHTML上的最佳做法,CSS和JavaScript应该保存在单独的文件中。这意味着要使用如下模板:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<?!= include('Stylesheet'); ?>
</head>
<body>
<h1>Welcome</h1>
<p>Please enjoy this helpful script.</p>
<?!= include('JavaScript'); ?>
</body>
</html>
其中JavaScript是保存JavaScript代码的文件的文件名。实际上,该名称几乎可以是任何对您有意义的名称,甚至您也可以将JavaScript代码放在多个文件中,例如,一个用于您自己的代码,另一个用于所引用的JavaScript库。