我有在Chrome一个非常奇怪的错误最近,当加载页面第一次,或在隐身模式下,没有任何背景图像的显示。
当你按下F5页面时,背景图像的所有负载英寸
当您检查CSS它显示在CSS面板中的图像的URL,但是当你将鼠标放在链接它不与图像的预览显示工具提示。
无论是当您检查下载的资源,甚至有背景图像下载的任何提及。
再刷新页面,它工作正常,CSS的网址的工具提示甚至可以显示预览。
该错误只发生随机在第一次加载偶尔,没有办法保证重现此。
也是其值得大家注意,它不勾选,然后retick对铬它,然后下载的background-image属性并显示图像。
我有一块的jQuery的是解决问题,但你可以看到它几乎很优雅!
$('*').each(function(){
var bg = $(this).css('background-image');
$(this).css('background-image', 'none');
$(this).css('background-image', bg);
});
这种情况发生在铬的多个版本的Windows的每个实例。
任何想法将是巨大的! 谢谢!
你也许能看到它发生在http://ensa.ac.uk
这里是一个视频演示@ http://youtu.be/oLTyhk5rXgE
只是要注意的。
这个问题已经得到了解决。
问题是,浏览器下载最后所有的CSS背景图像。 所以,如果你的完成下载图片,加载网页时它再次从缓存加载之前刷新页面。 但因为图像没有完全下载他们不正确显示。
首先,解决这些问题:
backg1round-color: #c7dfe3;
backg1round-color: rgba(255,255,255,0.67);
如果图像是一个子文件夹,然后使用
url('images/logo-bg2.jpg');
代替
url('/images/logo-bg2.jpg');
在的main.css
试试这个。 虽然没有测试;
$('*').each(function(){
var bg = $(this).css('background');
$(this).css('background', 'none');
$(this).css('background', bg);
});
并提出相关的变化(即, background-image
对background
在你的CSS也)。
或尝试;
$('*').each(function(){
var bg = $(this).css('background-image');
$(this).css('background-image', 'none');
$(this).css('background-image','url(bg)'); // or try url("bg") i am confused :P
});
从一些搜索和研究,我来到了一个结论;
我想解决这个的方式是使用类。 对每个状态的一个单独的CSS类,然后只需使用jQuery来更改类。 这将确保所有图像的实际下载和使用,当你设置类 - 这是我认为Chrome的失败(可能所有WebKit浏览器会做到这一点)
Change css class as:
#nav
{
background-image: url(../images/logo-bg2.jpg);
height: 180px;
}
欧文,
我仍然看到对我工作的应用程序这个问题。 我知道这也是一个哈克的解决方案,但它是一个小比您已经发布了jQuery的解决方案少哈克。 我只是扔了一个版本号基于时间后的CSS包括它
例如, “相对=” 样式表”类型= “文本/ CSS”/>
我知道,这将导致CSS永远不会被缓存,但我还没有发现任何其他解决方案。