在带有pictufill的图像标签上同时使用src和srcset是否有效?



我已经使用以下标记一段时间了:

<img src="lowresImage.jpg" srcset="lowresImage.jpg, highresImage.jpg 2x" alt="Lorem Ipsum">

这与pictufill (http://scottjehl.github.io/picturefill/)非常完美,并且不会产生任何跨客户端问题。

我只是想知道是否有人可以确认这是有效的标记,以支持使用内联视网膜图像。我这样做的原因如下:

  1. 图片是内容的一部分,所以不能使用背景图片
  2. Google不索引srcset-attribute,但它索引src-attribute,这就是为什么我使用两者。所以这主要是一个SEO的考虑。
  3. 到目前为止,我已经测试了这个,我没有发现浏览器发送双重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

最新更新