html - 在具有相同背景的页面上导航时网站会闪烁 - FFX 和 IE

标签 html css firefox flash internet-explorer-9

在这里您可以测试我当前正在处理的网站: http://www.whateverxpress.com/wx_site/

当您浏览网站部分时,您会在 Firefox 和 IE 上看到令人讨厌的闪烁,我在 chrome 上不再有这个问题,但在我将 swf 对象背景从不透明更改为透明之前我确实遇到过这个问题。所以认为它可能是一个 swf 对象错误,但我尝试删除所有的 js 编码和 flash 动画并且同样存在。因此,即使单独使用 html 和 css,我也会在 ff (10.0.2) - 每晚 13.0a1 - IE 9 上遇到这个问题(闪烁不会在 IE 8 上显示)。

缓存在 htaccess 上配置如下:

ExpiresActive On
ExpiresByType image/png "access plus 5 hour"
ExpiresByType image/jpg "access plus 5 hour"
ExpiresByType text/css "access plus 5 hour"
ExpiresByType text/html "access plus 5 hour"
ExpiresByType application/x-shockwave-flash "access plus 5 hour"
ExpiresByType application/javascript "access plus 5 hour"

FileETag none

不确定告诉它缓存一年是否会有所不同,因为我在 5 小时范围内进行了测试...

我得到了这个 css 代码来加载背景图片:

#wrapper {
width:816px;
height:921px;
margin:auto;
background:url(img/wx_base_optimized5.jpg) no-repeat;}

如您所见,这是一个很大的图像,但我没想到它会导致这个讨厌的问题。

在过去的五天里,我一直在阅读许多网站,但没有找到解决这个问题的方法,所以你们是我最后的希望。提前感谢您阅读了这么多内容,希望您能帮助我。

P.S:大约每 15 次尝试一次,它会在每晚正确显示,不知道为什么。

更新: 我修复了闪烁。我删除了主背景 jpg,令我惊讶的是闪烁仍然存在,所以我认为这是其他原因造成的。禁用我的部分 css 规则我发现上面有另一张图片(大约 450 * 450)的“.stripped_box”使我的网站闪烁(至少在使用该规则的部分)所以我编辑为仅使用css 背景和部分问题已解决(尽管我不知道为什么)。 但主要原因是 .swf 对象嵌入代码。 (我之前试过没有它,但由于 .stripped_box 也给我一个闪烁,我没有注意到差异)。我尝试使用 adobe Dreamweaver swf 对象代码和传统嵌入系统嵌入它,它们似乎在 chrome 和 IE8 上都可以正常工作,但在 FFX 上却不行,所以我添加了 swfobject.js,问题就解决了。感谢 ajax 的建议,我正要朝那个方向前进,但我想最后一次检查一下。我希望这个问题可以帮助遇到同样问题的人。 P.S:这个问题在 IE 9 上仍然存在,但我认为不值得仅仅为了这个版本的 Msie 将我的网站转换为 ajax,因为它在 IE 8 上工作正常。 编辑#2: 尽管使用 swfObject 修复了 firefox 上的问题,但我注意到我偶尔会看到 chrome 上的闪烁,虽然不总是,但仍然存在,所以为了解决这个问题,我检测到如果用户使用 ff,则用户浏览器并提供 swf 对象脚本,否则什么也不做,一切都很完美。我不得不承认,即使 ff 上不再有闪烁,但在切换页面时会有某种延迟,但这是我能做的最好的,我希望这对某人有所帮助,因为我已经看到这个问题很多使用 Flash 动画的网站。

最佳答案

在我的 mac 上试过 FF、Chrome 和 Safari。 Firefox 几乎每次都滞后,但并非总是如此。 Chrome 和 Safari 很少延迟,但有时会延迟。

我也遇到过 Firefox 的问题,背景图案太大。切换到较小的模式解决了这个问题,但如果您想保留背景,我认为这不适合您的网站。如果你能够在没有侧面形状的情况下生活,你可以使用较小的图像并垂直重复。该网站也将获得像这样的灵活高度。

第二个想法:使用 AJAX。不要重新加载站点以显示新内容,只需加载内容并显示即可。如果您使用 AJAX,它根本不应该闪烁。

关于html - 在具有相同背景的页面上导航时网站会闪烁 - FFX 和 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9489003/

相关文章:

javascript - 为什么我需要一个包装函数来递归调用 setTimeout

html - 无法正确对齐我的按钮

jquery - 修复了带有可滚动主体的列表在 IE 9 和 10 中无法正确呈现的问题

html - 如何使 Twitter 嵌入页面居中?

javascript - 如何让滚动事件在 Chrome 和 Firefox 中工作?

firefox - 禁止 Firefox/Firebug SHA-1 警告

html - 去除覆盖4列产品的白色背景

css - 在td上显示左上角的图标

html - 使用 CSS 更改标题外观

javascript - 如何使用 IE 11 和 Firefox 36 调试 StealJS?