XHTML JavaScript在加载页面其余部分之前预加载图像

XHTML JavaScript在加载页面其余部分之前预加载图像,javascript,html,image,xhtml,preload,Javascript,Html,Image,Xhtml,Preload,我是否可以延迟HTML代码(页面)的显示,直到加载某些特定的图像,以便布局与标题图像以及HTML一起显示 谢谢。这应该可以做到,但保护客户不受伤害是你的责任——毕竟,你是专业人士 <head> <script type="text/javascript"> //<![CDATA[ with (document.documentElement.style) { visibility = 'hidden'; overflow = 'hidden'; w

我是否可以延迟HTML代码(页面)的显示,直到加载某些特定的图像,以便布局与标题图像以及HTML一起显示


谢谢。

这应该可以做到,但保护客户不受伤害是你的责任——毕竟,你是专业人士

<head>
 <script type="text/javascript">
//<![CDATA[
with (document.documentElement.style) {

  visibility = 'hidden';
  overflow = 'hidden';

  window.onload = function() {
    visibility = '';
    overflow = '';
  };
}​
//]]>
 </script>
</head>

这应该可以做到,但保护客户不受自己伤害是你的责任——毕竟,你是专业人士

<head>
 <script type="text/javascript">
//<![CDATA[
with (document.documentElement.style) {

  visibility = 'hidden';
  overflow = 'hidden';

  window.onload = function() {
    visibility = '';
    overflow = '';
  };
}​
//]]>
 </script>
</head>

我同意Christoph的观点,一个页面应该尽可能快地显示给用户——即使只是页面的一部分。如果什么事都没有发生,那就很烦人

但是你可以试试

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

(或者也能起作用

<body style='display:none;' onload="this.style.display='block';">

?--需要尝试)


这将在加载所有图像、脚本、样式表和多媒体文件后显示页面。

我同意Christoph的观点,即页面应尽可能快地显示给用户,即使只是页面的一部分。如果什么事都没有发生,那就很烦人

但是你可以试试

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

(或者也能起作用

<body style='display:none;' onload="this.style.display='block';">

?--需要尝试)



这将在加载所有图像、脚本、样式表和多媒体文件后显示页面。

为什么要这样做?懒洋洋地显示页面是一个特性,而不是一个bug;给你的图片提供正确的宽度/高度,这样它们在加载时不会改变页面布局,你应该没事;预加载只对不是默认页面结构一部分的图像有意义,因为它们是稍后通过脚本或悬停效果添加的。我可以说,我的客户端是个白痴,不会理解争论…哦,布局不会闪烁,大小已经就位…如果用户禁用了javascript,他们什么也看不到。顺便说一句,我不知道这是不是真的,但我听说谷歌测试网页的文本和背景颜色是否相同。。如果测试也包含隐藏内容,我应该不会感到惊讶。也许你可以告诉你的客户这就是网络的运作方式。你正在做的东西不会在所有浏览器中都工作……如果我要实现一个解决方案,我会使它逐步增强,这样无论有没有JS,任何人都可以访问该页面。是的,谷歌也在寻找显示:没有或看不见的元素。你为什么要这样做?懒洋洋地显示页面是一个特性,而不是一个bug;给你的图片提供正确的宽度/高度,这样它们在加载时不会改变页面布局,你应该没事;预加载只对不是默认页面结构一部分的图像有意义,因为它们是稍后通过脚本或悬停效果添加的。我可以说,我的客户端是个白痴,不会理解争论…哦,布局不会闪烁,大小已经就位…如果用户禁用了javascript,他们什么也看不到。顺便说一句,我不知道这是不是真的,但我听说谷歌测试网页的文本和背景颜色是否相同。。如果测试也包含隐藏内容,我应该不会感到惊讶。也许你可以告诉你的客户这就是网络的运作方式。你正在做的东西不会在所有浏览器中都工作……如果我要实现一个解决方案,我会使它逐步增强,这样无论有没有JS,任何人都可以访问该页面。是的,谷歌也在寻找显示:无或不可见的元素。好吧,如果一些浏览器是
display:none
,它们就不会加载图像-改用
可见性
(请确认);另外,你的引用也不正确,我刚刚试过Firefox3.5、Chrome6和MSIE8。我使用了一个带onload的图像,它对它们起作用(显示:身体上没有)。但我建议不要这样做。如果出于某种原因没有加载图像,页面将不可见,因为没有onload事件。我更喜欢Christoph的解决方案,因为如果JavaScript不可用,它不会“破坏”任何东西。这里我们应该使用类似于
document.getElementById('body').style.visibility='none'的东西。。。那将是一片混乱。我们仍然可能会遇到这样的问题,即像一些人提到的那样,
onload
永远不会被调用。@some:谢谢;根据我的google fu,至少Netscape 6和Opera 8没有加载
display:none
图像,但这似乎不再是一个问题了……恐怕有些浏览器如果是
display:none
,就不会加载图像-改用
visibility
(请确认);另外,你的引用也不正确,我刚刚试过Firefox3.5、Chrome6和MSIE8。我使用了一个带onload的图像,它对它们起作用(显示:身体上没有)。但我建议不要这样做。如果出于某种原因没有加载图像,页面将不可见,因为没有onload事件。我更喜欢Christoph的解决方案,因为如果JavaScript不可用,它不会“破坏”任何东西。这里我们应该使用类似于
document.getElementById('body').style.visibility='none'的东西。。。那将是一片混乱。我们仍然可能会遇到这样的问题,即像一些人提到的那样,
onload
永远不会被调用。@some:谢谢;根据我的google fu,至少Netscape 6和Opera 8没有加载
display:none
图像,但这似乎不再是一个问题了……谢谢你,克里斯托夫,谢谢大家的宝贵意见。在阅读了所有的发言后,我决定不这么做,因为看到这样的解决方案意味着隐藏和展示尸体,我希望有一种更优雅的方式,而这是没有的。再次感谢你,非常感谢。谢谢你,克里斯托夫,谢谢大家的宝贵意见。我决定不这样做,因为我已经阅读了所有的发言,并看到这样的解决方案将意味着隐藏和展示尸体,我希望有一种更优雅的方式,而这是没有的。再次感谢,非常感谢。