Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么有些.js文件在下载到localhost时会停止工作?_Javascript_Jquery_Mathjax_Pdf.js - Fatal编程技术网

Javascript 为什么有些.js文件在下载到localhost时会停止工作?

Javascript 为什么有些.js文件在下载到localhost时会停止工作?,javascript,jquery,mathjax,pdf.js,Javascript,Jquery,Mathjax,Pdf.js,我有一个问题,当我使用一个链接到在线可用的.js文件的代码时,代码工作正常,但是如果我尝试在localhost上保存这个.js文件,然后链接到它,代码就不工作了。例如,此代码 <!DOCTYPE html> <html> <head> <title>MathJax TeX Test Page</title> <script type="text/x-mathjax-config"> MathJax.Hub.Config(

我有一个问题,当我使用一个链接到在线可用的.js文件的代码时,代码工作正常,但是如果我尝试在localhost上保存这个.js文件,然后链接到它,代码就不工作了。例如,此代码

<!DOCTYPE html>
<html>
<head>
<title>MathJax TeX Test Page</title>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript"
  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</head>
<body>
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</body>
</html>

MathJax-TeX测试页面
MathJax.Hub.Config({tex2jax:{inlineMath:[['$','$'],['\\(','\\)']});
当$a\ne为0$时,有两种解决方案\(ax^2+bx+c=0\),它们是
$$x={-b\pm\sqrt{b^2-4ac}\over 2a}$$
工作正常,但当我下载到localhost并通过更改链接到它时

<script type="text/javascript"
   src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>


此代码停止工作。我在pdf.js中遇到了同样的问题。并非每个.js文件都会出现此问题。例如,我将jquery和jqueryui文件下载到localhost,它们工作得很好。此外,当我链接到自己编写的脚本文件时,代码也可以正常工作

我已经检查过MathJax.js是否在js文件夹中,它是否与其他js文件(如jquery.js)一起使用,通常在使用jquery.js时,我只使用行

<script type="text/javascript" src="js/jquery.js"></script>


我的问题是:我是做错了什么,还是这些文件只在网上工作

确保指向javascript文件的链接正确无误

<script type="text/javascript"
      src="js/MathJax.js">
    </script>

上面的脚本说MathJax.js文件在js目录中,js目录与您从中链接的文件处于同一级别


<script type="text/javascript"
  src="./js/MathJax.js">
</script>
/为文件提供了一个相对的起始点。但是,如果javascript不在名为“js”的文件夹中,而该文件夹与html位于同一文件夹中,那么这将不起作用

另一种解决方案是构建标记中文件的整个绝对文件路径,并以“/MathJax.js”结尾

  • 通过右键单击页面并执行以下操作打开chrome developer tools 检查元素或视图>开发人员>开发人员工具
  • 导航到网络。您可能必须在进入网络后刷新页面
  • 您是否看到文件加载成功
  • 如果它是红色,则表示它没有正确加载
  • 右键单击并在“新建”选项卡中打开它,然后验证路径
  • 更新:


    MathJax是一个包,所以您必须链接整个包,而不仅仅是单个文件。请参阅此处

    您可能在本地错误地链接到它。尝试在src标记中指定完整的文件路径。我尝试过了,但没有成功。您仍然可以尝试在“新建”选项卡中打开它,并查看它是否包含所有库代码吗?您的意思是它现在可以工作,您的问题已经解决了吗?不,我的意思是js文件在新点击中加载,但我的页面仍然无法工作。我认为缺少了一个扩展,因为当我刷新我的网站页面时,底部出现了一个标签,上面写着“未能加载localhost/mysite/js/extensions/MathZoom.js”。是的,也许mathjax取决于它。哦,是的,mathjax是一个包,而不仅仅是一个单独的js文件,“更新”是正确的。MathJax由数千个文件组成(尽管根据您的配置和浏览器支持要求,大多数文件可以删除);特别是MathJax提供了几个输入和输出组件以及webfonts。js仅提供用于配置和加载组件的基本基础设施。
    <script type="text/javascript"
      src="./js/MathJax.js">
    </script>