首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视网膜图像不加载感受器触摸

视网膜图像不加载感受器触摸
EN

Stack Overflow用户
提问于 2014-04-02 16:11:51
回答 1查看 167关注 0票数 0

我在我的Sencha应用程序中包含了retina.js。当我看到网络监视器时

  • 加载retina.js
  • 图像加载正常的example.jpg
  • 没有@2x图像加载example@2x.jpg,甚至没有查找

使用chrome模仿iphone,这就是我所看到的

我也手动运行Retina.init(window),但是什么都没有发生。所有图像都是非视网膜的。运行Retina.isRetina()返回

我实际上没有视网膜设备,所以我不确定这是否是问题所在。然而,我的朋友iPhone 5s说,图像质量没有改善,所以我假设视网膜图像没有出现。

The 文档不是很有用

我认为这与这样一个事实有关:图像是用JS创建和加载的(图像没有加载)。

使用铬进行调试,我如何使retina.js为我的应用程序工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-04 19:17:24

好的,所以我使用了retina.js文件的一小部分并创建了一个新的类,它使用isRetina函数来判断devicePixelRatio是否大于1。

代码语言:javascript
复制
Ext.define('MyApp.Retina', {
  singleton: true,
  isRetina : function(){
    var mediaQuery = "(-webkit-min-device-pixel-ratio: 1.5),\
                      (min--moz-device-pixel-ratio: 1.5),\
                      (-o-min-device-pixel-ratio: 3/2),\
                      (min-resolution: 1.5dppx)";

    if (window.devicePixelRatio > 1)
      return true;

    if (window.matchMedia && window.matchMedia(mediaQuery).matches)
      return true;

    return false;
  },
  getSrc: function(url){
    return this.isRetina()? [url.slice(0, -4), '@2x', url.slice(-4)].join(''): url;
  }
});

现在,在我的sencha应用程序中,我创建了以MyApp.Retina.('http://example.com/foo.jpg')作为src值的图像,当设备是视网膜时,函数返回http://example.com/foo@2x.jpg

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22817211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档