aspx网站在网络服务器上的行为不同......但为什么?

问题描述:

我用一些css和jquery设计了一个简单的网站。所有的CSS都在标题中使用,JavaScript文件位于一个名为Scripts的文件夹中,并在我的网站中引用,如下所示。一切都在本地美丽,但在服务器上的一些对象,如一些我的div的对象不在原来的位置,我的下拉菜单使用jquery不能正常工作,但他们有一些工作(像他们滑落或淡入淡出) 。aspx网站在网络服务器上的行为不同......但为什么?

我在Web服务器的根上制作了相同的文件夹结构。我正在使用.NET 3.5并且服务器确实支持它。

你们认为这可能是我的脚本路径问题? 什么可能导致CSS将div移出位置? css或jquery在不同服务器上的行为有所不同吗?

<script src="Scripts/jquery.validate.min.js" type="text/javascript"></script> 
    <script src="Scripts/jquery.validate.min-vsdoc.js" type="text/javascript"></script> 
    <script src="Scripts/jquery.validate.js" type="text/javascript"></script> 
    <script src="Scripts/jquery.validate-vsdoc.js" type="text/javascript"></script> 
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
    <script src="Scripts/jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script> 
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> 

    <script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> 

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

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

    <script src="Scripts/jquery-ui-1.8.4.custom.min.js" type="text/javascript"></script> 

多谢

+4

你应该在生产中包含*缩小版本,而不是非缩小版本或'-vsdoc',也应该只包含一个版本的jQuery :)所有插件应该包含在jQuery之后,最后一件事情,如果您包含jQuery UI,则不需要颜色插件。它会看起来像这样:http:// jsfiddle。net/nick_craver/YafaA/ – 2010-08-27 16:26:29

+0

感谢Nick,我认为脚本路径不再是我的问题,因为jquery正在工作(有褪色,滑动等,但无序)。它只是不正常工作。我的div没有对齐,这是一个CSS问题......只发生在生产服务器上。我不知道为什么。 – EKet 2010-08-27 17:39:19

+0

请尝试更改您的母版页或页面的DOCTYPE,因为它有时会决定渲染行为。 – 2010-08-27 17:55:27

@Wyatt Barnett的建议是我要开始的地方。清除缓存,查看Firebug的网络控制台,并观看404页中的任何页面。

如果失败,请专注于查找生产和开发服务器上的源代码/支持文件之间的差异。获得一个diff工具(我在Mac上,我使用FileMerge,但是有很多非常好的免费差异工具可用于每个平台)。保存生产和开发页面的页面源代码(忽略服务器应该构建的内容,查看浏览器实际上正在获取的内容)。密切关注可能存在的任何CSS差异,或可能在生产环境中注入文档的任何无关元素。

最后,更改您的开发页面,以便它们直接指向生产环境中的JS文件。如果您不小心更改了其中一个文件,或者它们被保存在不同的版本中,则会导致您遇到的问题。

如果页面源代码相同,并且JS文件相同,并且加载文件没有问题,我的下一个猜测就是gremlins。他们进入一切。

+0

哈哈嗯,我希望它不是gremlins。谢谢安德鲁。 – EKet 2010-08-31 17:13:48

请尝试添加了〜路径前的迹象,例如:

<script src="~/Scripts/jquery.validate.min.js" type="text/javascript"></script> 

希望帮助,

+0

我同意这一点,因为这发生在我的团队大约2个星期前。 – XstreamINsanity 2010-08-27 16:35:25

+0

嗯...我试过这个,但现在我的jQuery甚至没有工作。有什么想法吗?谢谢 – EKet 2010-08-27 17:27:18

+0

好吧,我添加了脚本描述为o6tech,我回到了同样的问题......我的div没有对齐,我的jquery不按顺序做事。 – EKet 2010-08-27 17:40:14

ScriptManager的是你的朋友

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
    <Scripts> 
     <asp:ScriptReference Path="~/Scripts/jquery-1.4.2.min.js" /> 
     <asp:ScriptReference Path="~/Scripts/jquery.easing.1.2.js" /> 
     <asp:ScriptReference Path="~/Scripts/jquery.color.js" /> 
     <asp:ScriptReference Path="~/Scripts/jquery-ui-1.8.4.custom.min.js" /> 
    </Scripts> 
</asp:ScriptManager> 
+0

这让我回到我目前的问题......我的div不合适,我的jquery是越野车。 – EKet 2010-08-27 17:36:39

来自s它可能不是一个脚本问题,它可能是一个CSS问题。这会导致页面上出现不同的东西,但是有一些JavaScript代码可以工作。你有没有检查过,以确保你的样式表包含正确?

+0

我的风格包含在标题中,没有css文件。由于一切工作在本地,我不确定服务器上可能有什么不同。 谢谢! – EKet 2010-08-31 16:10:49

我会做的第一件事是启动一个HTTP调试器,看看哪些脚本或样式表丢失。

我会做的第二件事是激发萤火虫,看看我得到什么脚本和样式表错误。

+0

得到了萤火虫,并会考虑到它感谢怀亚特。 – EKet 2010-08-31 17:14:19