以前我使用托管主机,但最近测试了运行CentOs和Virtualmin的VPS服务器设置。
我已经移动了一个网站,它在托管主机上工作非常好,但是将它移到VPS会给我带来多个JS错误。出于某种原因,它似乎没有加载任何JS脚本。当我用CDN链接替换脚本时,它再次正常工作。
我已经检查了目录权限,它们的设置与以前的托管相同,我还可以使用website.com/js/bootstrap.min.js访问和读取每个文件。唯一的区别是JS目录本身就是“禁止的”。我不确定当我能读到真正的文件时,这会不会有什么区别?
我的问题是,如果JS运行类似于HTML,并且在使用CDN脚本时工作良好,为什么会发生这种情况?另外,包含在下面text/javascript之前的JS脚本中的随机in的含义是什么,这可能是原因吗?
<script src="js/jquery-3.2.1.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/bootstrap.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/jquery.slicknav.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/owl.carousel.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/jquery.magnific-popup.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/circle-progress.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/mixitup.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/instafeed.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/masonry.pkgd.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/main.js" type="7fb652456240e11add396d8d-text/javascript"></script>
<script src="js/rocket-loader.min.js" data-cf-settings="7fb652456240e11add396d8d-|49" defer></script></body>
</html>

发布于 2021-12-21 17:31:14
似乎你没有把JQuery重新放到你的新主机上。
有几条线索:
“意外令牌”:jquery使用$
“jQuery未定义”
您还可能将jQuery放在与托管主机上的位置不同的位置。这也可能是因为它仍然指向你以前的主机。
如果这不起作用,试着在text/javascript之前删除文本(尽管我怀疑这是问题所在,考虑到它在您以前的主机上有效)。而且,javascript的mime类型是application/javascript。试着检查一下。这应该能解决你的问题。
发布于 2021-12-22 23:12:14
例如,
我还可以使用website.com/js/bootstrap.min.js访问和读取每个文件。唯一的区别是JS目录本身就是“禁止的”。
这没道理。该文件夹要么是禁止的,要么是不允许的。
如果您可以通过浏览器url访问该文件夹,那么显然它是不被禁止的。如果您在浏览器中收到“禁止”消息,那么该文件夹显然是被禁止的,并且您发现了问题。
我的问题是,如果JS运行类似于HTML,并且在使用CDN脚本时工作良好,为什么会发生这种情况?
转到浏览器中的“网络”选项卡,检查在浏览器中接收到的http状态,以了解所请求的资源,即本例中的jQuery。引导引发的错误可能只是jQuery未加载的结果。我想一定有依赖关系吧。
如果不是,在绝对最坏的情况下,您可以加载抛出的脚本的无限制版本,并根据原始源代码调试问题。
它对CDN起作用的原因很明显是因为这些域允许您对它所承载的资源进行公共访问,否则您将无法获得它,而且这也是使用CDN的一种意义。
顺便说一句,你应该使用CDN,没有明确的理由说明为什么你不应该使用这些普通的库。
也是如此,JS脚本中包含的随机is在下面的text/javascript之前意味着什么,这是原因吗?
我假设您指的是类型,而不是html的src属性。
这是你的代码:
<script src="js/jquery-3.2.1.min.js" type="7fb652456240e11add396d8d-text/javascript"></script>这没道理。如果有的话,它们看起来就像生成的散列,通常是在异步加载Javascript块时发生的。
它必须与框架相关,尽管我不知道您目前使用的是什么框架。我不知道你是否在使用SSR,CSR,模板库,捆绑库等等。
但是应该清楚的是,有些东西会为您生成这个字符串。您需要检查您的模板、生成模板的内容,如果可以的话,可以完全删除该类型。在那个地方真的没用。
https://stackoverflow.com/questions/70395267
复制相似问题