无法从http源加载TEX扩展

时间:2019-08-08 23:34:09

标签: google-apps-script

我正在部署一个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 ,但这根本不起作用。

有什么建议吗?

1 个答案:

答案 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库。