服务器上传后Javascript无法运行

时间:2017-12-25 04:27:25

标签: javascript jquery mysql dreamhost gsap

就像标题所说的那样,我刚刚建立了一个网站。在我的本地服务器上测试它,一切正常,没有任何错误。

但是,在将我的文件上传到dreamhost服务器后,网站会加载,但我的动画和交互功能无效。我联系了客户服务,并告诉我在我的error.log文件中说它找不到我所有GSAP.js文件所在的文件夹。但是查看我的面板,所有文件都已成功上传。

为了确保它不仅仅是dreamhost服务器,我决定尝试将网站上传到github服务器,但仍然是同样的事情。网站和所有文件已成功上传但javascript文件未运行或找不到。我不确切地知道。在谷歌开发者工具中查看控制台和网络后,没有任何单一错误,它显示所有文件都已成功上传,因为没有错误。

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

以下是引用所有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>

这是我的文件夹结构

  • about.html
  • 区分studies.html
  • contact.html
  • contact.php
  • css文件夹
  • experiments.html
  • 图片文件夹
  • 的index.html
  • PHPMailer文件夹
  • 资源文件夹
  • 供应商文件夹

供应商文件夹包含您已经知道的所有js文件。

1 个答案:

答案 0 :(得分:2)

所有文件都已正确加载..问题在这里

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找到了该网页的网址..但实际上,如果该网址没有网址中的任何网页,则您没有设置任何内容

这意味着,如果您转到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 ;
};