XHTML JavaScript在加载页面其余部分之前预加载图像
我是否可以延迟HTML代码(页面)的显示,直到加载某些特定的图像,以便布局与标题图像以及HTML一起显示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
谢谢。这应该可以做到,但保护客户不受伤害是你的责任——毕竟,你是专业人士
<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
图像,但这似乎不再是一个问题了……谢谢你,克里斯托夫,谢谢大家的宝贵意见。在阅读了所有的发言后,我决定不这么做,因为看到这样的解决方案意味着隐藏和展示尸体,我希望有一种更优雅的方式,而这是没有的。再次感谢你,非常感谢。谢谢你,克里斯托夫,谢谢大家的宝贵意见。我决定不这样做,因为我已经阅读了所有的发言,并看到这样的解决方案将意味着隐藏和展示尸体,我希望有一种更优雅的方式,而这是没有的。再次感谢,非常感谢。