GAE + Blobstore:根据视口宽度提供不同的图像尺寸

hyang123

因为我们知道,我们可以使用它的服务从Blob存储图像服务的URL,并追加=sXX指示图像的宽度:

<!-- serving an image of 600px width -->
<img src="{{serving_url}}=s600" alt=""/>

效果很好,只是出于明显的webperf原因,我们希望为较小的屏幕提供较小的图像。我们如何根据屏幕尺寸提供不同的图像宽度?

感谢您的提示。

哈努曼

您可以使用javascript轻松实现这一目标,基本技术是src在评估您感兴趣的媒体查询后更改属性。

对于初学者来说,我会避免在src评估之前填满图片,因此默认情况下不会加载完整图片。像这样的东西:

<img data-src="{{serving_url}}" height="240" width="320">

在这里,我们在数据属性中呈现了url,因此稍后可以在脚本中访问它。我还添加了默认大小,因此保留了空间,但这当然是可选的。

现在,我们可以使用Window.matchMedia()来评估我们的查询字符串:

var mql = window.matchMedia('(max-device-width: 667px)')
if (mql.matches) {
    // we're probably running on an iPhone6!
    img.src = img.dataset.src + '=s667'
}

使用完美尺寸获取图像!

我包括一个有效的代码段,可以轻松地将其扩展为许多查询测试,供您尝试。

var img = document.querySelector('img')
  , mql = window.matchMedia('(max-device-width: 667px)')
  , size = 1200
if (mql.matches) {
    size = 667
}
img.src = img.dataset.src + '=s' + size
img {
    object-fit: contain;
}
<img
    data-src="http://lh4.ggpht.com/TgjDT-cPRr6bjrpSVQeILk93o4Ouzjo1ygMB6KpmnCHhyH5vJKKRrqxCD2bC3T09CRIP6h5QFsV_l0hnhio5bN7z"
    height="240"
    width="320"
    >

这个问题友善地“提供”了测试图像我也在使用对象适配,因为这对我来说很有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从GAE blobstore读取文件

来自分类Dev

从Java Servlet将图像上传到GAE Blobstore

来自分类Dev

GAE blobstore-以编程方式上传文件

来自分类Dev

GAE Blobstore错误:NOT_FOUND Servlet

来自分类Dev

在GAE Blobstore Java中创建文件

来自分类Dev

GAE无法在localhost上提供HTML

来自分类Dev

使用GAE Image API进行图像转换

来自分类Dev

GAE实例在不同的网址上投放

来自分类Dev

根据视口宽度动态调整图像高度

来自分类Dev

如何根据不同设备的视口高度提供CSS规则

来自分类Dev

GAE / P:直接从GCS向用户提供文件,而无需读取GAE内存

来自分类Dev

如何将图像从本机android应用程序上传到GAE(Titanium + GAE)

来自分类Dev

使用JQuery GAE Dropload的问题-通过拖放操作上传Blobstore

来自分类Dev

使用gae python以编程方式提供txt文件

来自分类Dev

在GAE PHP网站上提供Google Cloud Store中的文件

来自分类Dev

直接提供者联合身份的GAE Python示例

来自分类Dev

根据视口宽度更改按钮文本

来自分类Dev

根据视口宽度加载jQuery

来自分类Dev

根据视口宽度删除标题

来自分类Dev

将图像从Android上传到GAE数据存储区

来自分类Dev

使用Flask(python)从GAE数据存储中服务图像

来自分类Dev

从android客户端将图像存储到Blobstore并检索blobkey并上传网址以存储在Datastore中。-GAE

来自分类Dev

调整使用get_serving_url直接从GAE中的GCS直接提供的图像的大小?

来自分类Dev

调整使用get_serving_url直接从GAE中的GCS直接提供的图像的大小?

来自分类Dev

在一个 GAE 项目中为开发、测试、生产提供不同的 Container Registry 映像

来自分类Dev

GAE NeedIndexError:

来自分类Dev

如何根据视口高度缩小图像?

来自分类Dev

GAE:java.lang.NoClassDefFoundError:com / google / appengine / api / blobstore / BlobstoreServiceFactory

来自分类Dev

使用ng-flow上传的文件上传到始终命名为“ blob”的gae blobstore

Related 相关文章

  1. 1

    从GAE blobstore读取文件

  2. 2

    从Java Servlet将图像上传到GAE Blobstore

  3. 3

    GAE blobstore-以编程方式上传文件

  4. 4

    GAE Blobstore错误:NOT_FOUND Servlet

  5. 5

    在GAE Blobstore Java中创建文件

  6. 6

    GAE无法在localhost上提供HTML

  7. 7

    使用GAE Image API进行图像转换

  8. 8

    GAE实例在不同的网址上投放

  9. 9

    根据视口宽度动态调整图像高度

  10. 10

    如何根据不同设备的视口高度提供CSS规则

  11. 11

    GAE / P:直接从GCS向用户提供文件,而无需读取GAE内存

  12. 12

    如何将图像从本机android应用程序上传到GAE(Titanium + GAE)

  13. 13

    使用JQuery GAE Dropload的问题-通过拖放操作上传Blobstore

  14. 14

    使用gae python以编程方式提供txt文件

  15. 15

    在GAE PHP网站上提供Google Cloud Store中的文件

  16. 16

    直接提供者联合身份的GAE Python示例

  17. 17

    根据视口宽度更改按钮文本

  18. 18

    根据视口宽度加载jQuery

  19. 19

    根据视口宽度删除标题

  20. 20

    将图像从Android上传到GAE数据存储区

  21. 21

    使用Flask(python)从GAE数据存储中服务图像

  22. 22

    从android客户端将图像存储到Blobstore并检索blobkey并上传网址以存储在Datastore中。-GAE

  23. 23

    调整使用get_serving_url直接从GAE中的GCS直接提供的图像的大小?

  24. 24

    调整使用get_serving_url直接从GAE中的GCS直接提供的图像的大小?

  25. 25

    在一个 GAE 项目中为开发、测试、生产提供不同的 Container Registry 映像

  26. 26

    GAE NeedIndexError:

  27. 27

    如何根据视口高度缩小图像?

  28. 28

    GAE:java.lang.NoClassDefFoundError:com / google / appengine / api / blobstore / BlobstoreServiceFactory

  29. 29

    使用ng-flow上传的文件上传到始终命名为“ blob”的gae blobstore

热门标签

归档