前几天在 Google Reader 中看到玉伯博客的分享——空路径对页面性能的影响。确实,在写 CSS 的时候,用 background:url(#) 还是会对页面进行多一次请求的。

空路径对页面性能影响的解决方案

不过,因为写多 CSS,一般需要用空背景来解决 bug 的时候,测试结果用 background:url(about:blank) 才是我们想要的:解 bug,不影响性能。那很简单,解决方案不就不出来?等等,让我们来做个测试吧。
测试代码:

复制代码代码如下:
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8" />
<title>empty src</title>
<style>body{font-family:courier, 'courier new';}code{background:#f7f7f7;border:1px solid #ddd;padding:0 3px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;font-size:12px;color:#080;}p{font-size:12px;color:#999;}cite{font-size:14px;color:#c30;}</style>
</head>
<body>
<h3>一、发送请求:</h3>
<p>浏览器:<code>All</code>, 像 <code>chrome</code> 等部分浏览器,<code>hash(#)</code> 和空都只请求本路径</p>
<ol>
<li><img src="/UploadFiles/2021-03-30/"><li><div style="background:url(#background)">背景图片使用 <code>background:url(#)</code> 也是发送请求的</div></li>
<li><img src="/UploadFiles/2021-03-30/#image"><li><img src="http://www.apple.com/favicon.ico"></ol>
<h3>二、部分发送请求:</h3>
<p>浏览器(延时非常小):<code>safari</code>, <code>chrome(多个 about:blank 会多次发送多次请求)</code></p>
<cite>使用 <code>about:blank</code></cite>
<ol>
<li><img src="/UploadFiles/2021-03-30/about:blank"><li><div style="background:url(about:blank)">hello world</div></li>
<li><code>&lt;iframe /&gt;</code><iframe src="/UploadFiles/2021-03-30/javascript:''"></ol>
<h3>二、不发送请求:</h3>
<p>浏览器:<code>all</code>, <code>chrome(延时无效,相当于不发送请求)</code></p>
<cite>使用 <code>javascript:''</code></cite>
<ol>
<li><img src="/UploadFiles/2021-03-30/javascript:''"><li><code>&lt;script /&gt;</code> <script type="text/javascript" src="/UploadFiles/2021-03-30/javascript:''"><li><code>&lt;iframe /&gt;</code><iframe src="/UploadFiles/2021-03-30/javascript:''"></ol>
</body>
</html>

懒得截图了,自己自行搞搞吧,浏览结果已经把大致的都写在测试页面上了。最终的解决方案是:

大胆使用 about:blank 来代替空,或者‘#’,特别是在 background-image 中使用
在 img / script / iframe 这些推荐使用 javascript:” 来解决问题
其他更好的办法?这个测试结果有问题?随时欢迎提供、指正。谢谢。

标签:
空路径,页面性能

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“空路径对页面性能影响的解决方案”
暂无“空路径对页面性能影响的解决方案”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。