为啥我的图片只能在桌面上加载,而不能在移动设备上加载?

Posted

技术标签:

【中文标题】为啥我的图片只能在桌面上加载,而不能在移动设备上加载?【英文标题】:Why do my images only load on desktop, but not mobile?为什么我的图片只能在桌面上加载,而不能在移动设备上加载? 【发布时间】:2020-08-03 14:46:22 【问题描述】:

我正在创建一个 Web 应用程序。如果有帮助,我已经包含了 Codepen,以及指向实时站点的链接。当我在桌面浏览器上打开应用程序时,图像会加载。当我在移动浏览器上打开该网站时,我只看到图像的灰色轮廓。

要复制此错误,请从标记为Shape: 的下拉菜单中选择Alien,然后单击"clear and apply"。然后,单击任何黑色方块。它应该变成一个外星人头,你会看到它在桌面浏览器上运行,在任何移动浏览器中执行相同的过程,但这是行不通的。

直播网站:https://zjcrumpton.github.io/tokeneconomy/

Codepen:https://codepen.io/zjcrumpton/pen/rNOMZdr

.alienItem 
      content: url(/images/alien.png);
      height: 55px;
      width: 55px;
      justify-self: center;
      border-radius: 50px;
      margin-top: 5px;
  

Codepen 不会包含图像文件,但可能会帮助您查看代码。

【问题讨论】:

网站上也没有图片。也许它被您的桌面浏览器缓存了。 哦,哇,知道这很有帮助,是的,它似乎已缓存在我的浏览器中,现在我看到实时版本没有图像。但是,当我在本地从 VS Code 实时运行我的服务器时,它们确实会加载...... 我在您的 html 中看不到 class='alienItem',但也许是 javascript 使它具有该类。无论如何content: url(/images/alien.png); 应该是background-image:url(images/alien.png);。顺便说一句,像这样缩小大图像通常是一种不好的做法,因为它必须在缩放之前加载整个图像。最好让图片保持原来的大小。 【参考方案1】:

您链接到错误的地方。您的网站托管在https://zjcrumpton.github.io/tokeneconomy/。您链接到的资产使用的是斜杠 (/images/alien.png),它与基本 URL 相关,因此将解析为不存在的 https://zjcrumpton.github.io/images/alien.png

由于您的整个存储库都托管在https://zjcrumpton.github.io/tokeneconomy/,因此您应该链接到/tokeneconomy/images/alien.png,或者删除起始斜杠,或者链接到./images/alien.png

【讨论】:

以上是关于为啥我的图片只能在桌面上加载,而不能在移动设备上加载?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 CSS 在移动设备上与在狭窄的桌面浏览器上看起来不同,我该如何更改? [复制]

为啥我的点击功能在移动设备上的这个 SVG 内不起作用,但在桌面上却起作用?

我的网站不会在 iPhone 上加载图像,但会在所有其他浏览器、移动设备或桌面设备上加载

为啥我的输入在移动设备上不起作用?

轮播/幻灯片仅在移动设备上

防止图像在移动设备上加载