网页页面嵌入款式表格中应用url(), 出現网页页

2021-01-20 12:42 jianzhan
在近期的1个新项目中,以便追踪客户的登陆的次数,大家在网页页面开启时,将客户登陆网页页面的信息内容开展纪录。可在检测中却发现1个客户浏览1次的网页页面,却被纪录了2次,也便是说网页页面被加载了2次。进1步检测后发现此难题,只是在FireFox,Google Chrome访问器上才会出現。根据应用Fiddler监管发现,网页页面在很短的時间内被访问器加载了2次。
产生这般离奇的难题,让大家百思不可其解。由于在网页页面中,其实不存在根据Javascript来开启网页页面更新;也不存在网页页面的独特设定,让网页页面全自动开展定时执行的更新作用。不可已,只能选用笨方式,将网页页面中的內容1点点的删掉掉,最终发现当网页页面嵌入的款式存在时,网页页面就会被反复加载。款式以下:

拷贝编码
编码以下:

<style type="text/css">
content-wrap .wrap-main{background:url();}
content-wrap .wrap-main .colcomm .more{}
tem-main .left .col,.tem-main .left⑶ .col,.tem-main .right⑶ .col{margin-bottom:5px}
</style>

在款式表格中,以便未来自款式文档中的.wrap-main的情况照片给忽视掉,这里选用了在网页页面文档中再度界定了.wrap-main的情况照片,因此就出現了款式表格中第1行出現的

content-wrap .wrap-main{background:url();}
根据剖析觉得,网页页面的2次载入的难题,极可能会与该处的款式设定相关,因而将款式改动为等额的的:

content-wrap .wrap-main{background-image:none;}
再度运作网页页面,并根据Fiddler开展追踪,这次网页页面只载入了1次。来看难题的确是因为在网页页面的嵌入款式中不正确地应用了url()引发的。

对于这个难题,我进1步进电机行了剖析,获得以下结果:
1)在网页页面嵌入的款式表格中,假如出現url()或url("")之类的,FireFox、Google Chrome访问器会将url()或url("")分析为当今网页页面的详细地址,因此会再度恳求同1个网页页面,这样就出現了同1个网页页面被加载2次的难题。因而,假如要在嵌入款式表格中完成诸如撤销情况照片的款式时,能够选用background-image:none而不必选用background:url().
2)在.CSS文档中是的款式,假如出現url()或url(""),一样会致使.CSS文档被载入2次的难题。只是因为.CSS文档经常会在当地有缓存文件,因此当发现文档沒有改动时就不容易再度恳求同1个.CSS文档。