2023-10-16 05:53:59 | 我爱编程网
本人是一名前端开发者,在公司负责目前负责信息流服务,为五大手机厂商和各大App提供服务,每天的请求就是以亿计算,加上我们又做了SSP和DSP,就是类似于百度广告联盟,腾讯广点通这种。接触过的应该知道,所以前端优化一直是我头痛的问题,不仅要注重用户体验,同时要兼顾收益,有时候必须牺牲一些用户体验,但是作为一名有思想的前端,还是努力规避掉,希望能和从事相同业务的同学一起学习交流一下,话不多说,就来分享我的性能优化之路,有什么不对的知识点,麻烦大家指出批评。
yahoo军规把大部分的前端优化都提到了,而在js优化这一块如果有兴趣的额,推荐大家去看《 高性能javascript 》,书里讲的非常详细。
Media Queries 调用高清背景图
通过 devicePixelRatio的值,就可以区分普通显示屏和高清屏,当devicePixelRatio值等于1时(也就是最小值),那么它普通显示屏,当devicePixelRatio值大于1(通常是1.5、2.0),那么它就是高清显示屏。这时候我们可以让UI准备2套图片,甚至是3套图片,不同像素的图利用媒体查询结合 devicePixelRatio 可以区分普通显示屏和高清显示屏,并给出了如下CSS设计方案:
也可以用less或者sass
如果省时间通用性高,就像我们是服务端用nginx对图片进行处理,想要什么样尺寸的图片自己裁切,我们提供了按比例缩放和自定尺寸的裁切方法,地址后拼接字符串就行。
与其他图片格式相比,在肉眼无法分辨图片质量差异的情况下,WebP的空间占用是最小的,目前国内外各大互联网公司都已经开始应用这一图片格式。比如美团
想实现首先是判断,即识别单次访问的来源浏览器是否支持 webp 格式,其次是执行,如果该浏览器支持,则将原图替换为 webp 格式,并返回。如果不支持,则显示原格式图片。
在识别阶段,我们有两种方法:
1. Server 处理
只要有请求,服务端就能拿到你的User-Agent信息,通过对浏览器进行分类,支持webp放在白名单里,不支持的则为黑名单。判断为白名单,则直接调用,返回webp格式图片;反之,则显示原图。这种方式的优点在于,只需定期维护白名单即可,逻辑简单;缺点则在于不可扩展、不可测试、UA判断会出现不准确的情况。
Server处理中的另一种方式是通过读取 JavaScript 种下的 cookie来实现判断。这种方式的优点是表现稳定,访问速度更快,切换无压力。但缺点是,页面静态化会导致用户切换浏览器时不能自主更新,图片服务失效。比如用户用支持webp的浏览器A请求页面,这时缓存的静态页面均使用webp图片,但当该用户使用不支持webp的浏览器B时,访问网页则会出现请求不到图片的报错。
Client 处理,是美团云为美团主站提供的处理方式。在这种处理方式中,浏览器端发送的beacon webp 请求后,通过检测其加载情况来判定 webp 支持情况,然后浏览器写一个cookie。之后通过读取浏览器cookie判断是否支持webp,就可以进行下一步替换操作了。
2.替换图片过程中也是有两种处理方式:
在 server 端处理的优点是对下游开发者透明,缺点是静态页面的缓存数量会翻倍。
替换方式如下:
在 client 端处理可以比较好地应对页面静态化的情况,主要针对懒加载(非首屏)的图片进行处理,直接通过修改懒加载器来实现。
对非懒加载的图片暂时没有特别好的办法。目前,可用替换路径的方式来处理。
Client 处理实际上效果也是不错的,美团页面里90%以上的图片都是懒加载的,基本上都可以满足需求。对于大多数用户来说,采用Client 处理实现webp转换是个不错的选择。
既然提到图片这一块,我有忍不住想扯写些题外的tracking Pixel(像素追踪),几乎所有网站都会做数据的采集,上报统计。特别是我们做SSP、DSP广告这块需要获取例如
数据永远说的是实话,数据证明一切可能。如facebook广告投放的跨境电商朋友都会使用facebook Pixel(像素追踪)以获得各环节的精准数据。这样追踪数据后,我们才能投放广告后销量上去了,哪个才是效果最好的,哪个效果不好,进而通过多个数据对比,对广告进行合理的调整优化。
国内搜狗、百度、360、新浪都是用这种 tracking Pixel 方法,实际就是利用1px 的图片,在图片地址后缀拼接你需要的信息参数,浏览器在请求任何资源的时候会发送当前系统的数据,比如浏览器信息,操作系统信息,作为http请求头送过去,他们就能统计了。
为什么不用js请求统计? 我爱编程网
并不是所有的页面都支持JS的!NoJSStats的实现机制就是网站分析中点击流数据获取的方式之一——Web Beacons,即在页面中嵌入一个1像素的透明图片,当该页面被浏览时,图片就会被请求加载,于是在后端的服务器日志中就会记录该图片的请求日志,这样就可以获得日志记录。
例如百度:
本文引用@美团云 提供的webP方法,感谢。
前端页面中,用css设置成背景还是直接用<img>标签显示图片,这取决于图片在网站中所占的重要性。
什么是图片的重要性?
想让搜索引擎收录的图片就代表它很重要!
而搜索引擎收录图片最起码的标准就是图片要存在,不能通过JS操作DOM插入图片(例如:图片懒加载)。
<img src="img.jpg" alt="描述">
通过CSS设置成背景的图片搜索引擎是无法识别的,也就无法被收录。
<div class="bg">loading...</div>
.bg{background:url(img.jpg) no-repeat;
总结:从SEO角度来说,一些无关紧要的图片可以通过CSS设置为背景图形式,而文章配图等用<img src="">来展示。
以上就是我爱编程网为大家带来的web前端开发用图片当背景 网页制作 中,链接的图片是用css设置背景图片好,还是直接用标签,希望能帮助到大家,更多相关信息,敬请关注我爱编程网!web中将图片设为背景图片的代码是什么?web中将图片设为背景图片的代码如下:<html><bodybackground="a.jpg"></body></html>这样就把图片a.jpg设为背景图片了。<bodybgcolor="#CCCCCC">这个是把背景设成灰色Web
web前端怎么加背景图片?web中将图片设为背景图片的代码如下:<html><bodybackground="a.jpg"></body></html>这样就把图片a.jpg设为背景图片了。<bodybgcolor="#CCCCCC">这个是把背景设成灰色Web前端开发工程师是
web前端绘制0.5像素的几种方法_html/css_WEB-ITnose最近完成了公司安排的移动web触屏开发,期间涉及到在移动设备上显示线条,最开始采用PC常用的cssboard属性来显示1个像素的线条,但是发现在移动设备上并不美观,参考淘宝、京东的触屏发现它们均是采用浅细的线条来显示在移动设备上。以下纪录了比较方便的4种绘制0.5像素线条方式一、采用metaviewport的
web前端主要需要适应多大分辨率现在的显示器主要是1920*1200的分辨率,但也有一些笔记本用的1280*800等,还有就是一些4k显示器也是存在的。所以看你采用固定布局还是自适应布局,固定布局的话,建议不超过1200px,自适应布局的话可以看看bootsrap这个前端框架。至于手机开发,有很多专门的框架的,比如bootstrap、jQuerymobile等我在网页中插入了背景图片,怎
web前端怎么加背景图片?web中将图片设为背景图片的代码如下:<html><bodybackground="a.jpg"></body></html>这样就把图片a.jpg设为背景图片了。<bodybgcolor="#CCCCCC">这个是把背景设成灰色Web前端开发工程师是
php怎么输出背景透明的图片?php可以使用GD库或者ImageMagick工具生成png或者gif的背景透明图片.推荐使用ImageMagick.这里有范例-1.php准备一张png图片,放到php文件的目录,运行看看效果.<?php/*Readtheimage*/$im=newImagick("test.png");/*Thumbnailtheimage*
什么是超链接超级链接的特征1、超级链接简单来讲,就是指按内容链接。超级链接在本质上属于一个网页的一部分,它是一种允许我们同其他网页或站点之间进行连接的元素。各个网页链接在一起后,才能真正构成一个网站。所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。而在一个网页中用来超
web版bluejeans如何设置虚拟背景1.自适应的实现:设置div标签padding-top为百分比,padding和margin百分比值是依据宽度计算的而非屏幕高度,所以可以依此设置一个自适应的区域,比如图片信息如下web前端开发中如何实现背景虚化但内容清晰且自适应那么高宽比例为:540/1024大概为52.734%,也就是高度为宽度的52.734%,这里宽度设置为100%
2023-10-08 16:59:01
2023-06-27 20:13:22
2023-10-16 06:01:03
2023-10-16 05:53:59
2023-10-16 05:52:33
2023-10-16 05:45:44