就像标题所说,我刚刚建立了一个网站。在我的本地服务器上测试它,一切正常,没有任何错误。
但是,在将我的文件上传到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>
这是我的文件夹结构
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
网页找到页面..但实际上你没有设置任何东西,如果网址没有网址中的任何页面
这意味着如果你去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 ;
};