最初加载ASP.NET页面看起来很奇怪,直到加载完所有内容

时间:2009-10-23 09:59:09

标签: c# asp.net html

我使用ASP.NET 3.5与JQuery,JS文件,CSS文件和许多图像为我的背景。由于某种原因,当您第一次加载页面时,在您完成加载页面上的所有内容之前,所有内容都不会出现问题。

  • 这是为什么?
  • 如何解决此问题?

提前致谢!

4 个答案:

答案 0 :(得分:4)

原因是CSS样式,脚本和图像尚未完全下载。浏览器显示没有样式的HTML,这就是为什么你会看到奇怪的外观。一旦下载并解释了所有内容,一切都会突然出现。

理想情况下,您应该以某种方式减小依赖项的大小。或者为您的服务器使用更快的连接,但后者可能非常昂贵。

答案 1 :(得分:1)

您可以采取一些措施来缩短下载时间,以最大限度地减少此问题。

你可以缩小你的javascripts:

http://www.minifyjs.com/

通过组合javascripts减少下载的资源量。如果可能,您还可以组合CSS文件。

ySlow firefox插件可以为您分析您的网站,并就您可以做的一些事情提供建议:

http://developer.yahoo.com/yslow/

如果还没有开启GZIP压缩,您可能还想看看:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/25d2170b-09c0-45fd-8da4-898cf9a7d568.mspx?mfr=true

答案 2 :(得分:0)

CSS样式未尽快应用。如果你引用this post on google groups,它建议手动添加样式:

<ul class="ui-tabs-nav"> ... </ul>
<div class="ui-tabs-panel"> ... </div>

答案 3 :(得分:0)

我之前看到的一种方法是将页面的主要内容嵌入div中,该div最初设置为不可见

<div id="mainPageDiv" style="display:none;">
   <form id="form1" runat="server">
      ... Your content here...
   </form>
</div>

然后,在javascript中的页面加载事件中,将主div设置为可见。

<body onload="document.getElementById('mainPageDiv').style.display='block';">

我不确定这会是多么有效。一个缺点是用户会短时间出现一个完全白色的屏幕,可能导致他们认为存在问题。