Javascript 服务器上传后无法正常工作

Javascript not working after server upload

正如标题所说,我刚刚完成了一个网站的建设。在我的本地服务器上进行了测试,一切正常,没有任何错误。

但是,将我的文件上传到 dreamhost 服务器后,网站加载了,但我的动画和交互性不起作用。我联系了客户服务,被告知在我的 error.log 文件中说找不到我所有 GSAP.js 文件所在的文件夹。但是看我的面板,所有文件都上传成功了。

为了确定它不仅仅是 dreamhost 服务器,我决定尝试将网站上传到 github 服务器,但还是一样。站点和所有文件已成功上传,但 javascript 文件未 运行 或未找到。我不清楚。并且在google开发者工具中查看控制台和网络后,没有一个错误,它显示所有文件都已成功上传,因为没有错误。

可能导致此问题的原因是什么?我迷路了。

这是引用所有 GSAP.js 和我的 index.js 文件的代码

<script src="Resources/js/index.js"></script>
<script src="Vendor/js/TweenMax.min.js"></script>
<script src="Vendor/js/Draggable.min.js"></script>
<script src="Vendor/js/ThrowPropsPlugin.min.js"></script>
<script src="Vendor/js/MorphSVGPlugin.min.js"></script>
<script src="Vendor/js/SplitText.min.js"></script>
<script src="Vendor/js/CSSPlugin.js"></script>
<script src="Vendor/js/ScrollToPlugin.js"></script>

这是我的文件夹结构

如您所知,vendor 文件夹包含所有 js 文件。

你所有的文件都正确加载..这里的问题

function setupPage() {
  var url = window.location.pathname;
  var filename = url.substring(url.lastIndexOf('/')+1);
  switch(filename) {
    case 'index.html':
      setupIndex();
      break;
    case 'about.html':
      setupAbout();
      break;
    case 'contact.html':
      setupContact();
      break;
    case 'case-studies.html':
      setupCaseStudies();
      break;
    case 'experiments.html':
      setupsetupExperiments();
      break;
   }
}

您已经 substring url 找到该页面..但实际上如果 url 在 [=29= 中没有任何页面,您实际上没有设置任何内容]

这意味着如果您访问 http://www.seimodei.com/index.html 您的网站将按预期运行

所以你需要在切换前检查 filename ..你可以使用

var forcheck = url.substring(url.lastIndexOf('/')+1);
var filename = (forcheck.indexOf('.html') !== 1) ? 'index.html' : forcheck ;

或重定向到 index.html 我不推荐这个

var forcheck = url.substring(url.lastIndexOf('/')+1);
var filename = 'index.html';
if(forcheck.indexOf('.html') !== 1) {
     window.location.href = "http://www.seimodei.com/index.html";
}else{
     filename = forcheck ;
};