我已经使用以下标记一段时间了:
<img src="lowresImage.jpg" srcset="lowresImage.jpg, highresImage.jpg 2x" alt="Lorem Ipsum">
这与pictufill (http://scottjehl.github.io/picturefill/)非常完美,并且不会产生任何跨客户端问题。
我只是想知道是否有人可以确认这是有效的标记,以支持使用内联视网膜图像。我这样做的原因如下:
- 图片是内容的一部分,所以不能使用背景图片
- Google不索引srcset-attribute,但它索引src-attribute,这就是为什么我使用两者。所以这主要是一个SEO的考虑。
- 到目前为止,我已经测试了这个,我没有发现浏览器发送双重http请求。它在普通桌面上请求src-image,在视网膜显示器上请求srcset-retina (2x) image。
我几乎找不到任何关于src与srcset和pictufill在SEO和视网膜显示方面使用的信息。因此,如果这个标记没有缺陷,那么我希望更多的人可以使用这种方法来响应和seo友好的图像。
是有效的。如果浏览器不支持srcset, src会被用作回退。
然而,如果你使用它只是视网膜的东西,你真的不需要使用图片填充。如果浏览器不支持srcset,我倾向于让它降级回正常的src。
srcset应该只是为src图像提供可选的大小和分辨率,这就是为什么google不会读取它的原因。
我已经这样用了几个月了,还没有发现任何问题。
如果你有一个较大的图像缓存,它将使用它而不是较小的。这是非常聪明和酷。
这里有一些关于srcset的好文章。
https://ericportis.com/posts/2014/srcset-sizes/https://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-srcset/是的,你应该把它看作是你使用的第二种(默认)字体,'以防浏览器不支持/查找字体'
是有效的使用src和srcset上的图像标签与图片填充?
是的,它是。但pictufill不建议这么做,因为这会导致重复下载。(更多解释见下文)
Google不索引srcset-attribute,但它索引src-attribute,这就是我使用两者的原因。所以这主要是一个SEO的考虑。
基本上你不必担心这个。googlebot类似于旧的无头webkit浏览器,并执行JavaScript。因此googlebot也被pictufill填充。这意味着,如果您不使用src
,但包含了pictufill,则您的图像将被索引。(参见:https://github.com/scottjehl/picturefill/issues/549#issuecomment-122538689)
到目前为止,我已经测试了这个,我还没有发现浏览器发送双重http请求。
我假设你已经在iOS 8或Chrome/Firefox上进行了测试。这些浏览器都支持srcset
。或者您只在1x设备上使用不支持的浏览器进行了测试。然而,Android 4。x Stockbrowser不支持此功能,如果使用2x设备,将导致双重下载(参见:http://caniuse.com/#search=srcset)。
我的建议:要么使用src
,但不包括pictufill,要么省略src并使用pictufill。如果您只使用srcset
与x描述符,而不是picture
和没有w描述符,我将简单地不包括图片填充,只使用src
。