iPhone - 数据 URI(css 背景图像)仅在连接到 WIFI 时有效

标签 iphone mobile-safari data-uri

我创建了一个供 Android 和 iPhone 设备使用的移动 Web 应用程序,经过测试,我很高兴一切都运行良好,因此决定尝试对其进行一些优化。

我决定在我的 css 文件中使用数据 uri,因为所有图像都是小的 16x16px png 图像。

在使用通过 WiFi 连接到互联网的 iPhone 进行测试时,图像加载正常,但是当使用移动数据连接进行连接时,图像不会加载。

查看 Apache 错误日志,我发现由于某种原因,图像被作为文件请求(并且未找到),尽管使用 WiFi 没有错误...

File does not exist: /www/min/data:image, referer: http://mysite.com/login/

我使用的CSS如下...

    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA5CAYAAAD3PEFJAAAAUUlEQVQYV4XMyw1AABQF0ePpQCNK0Ke+lCEkFmLjWRHx3dzcZCaDItV1m5GZgn0y1+M9AWfl4r2Cv/Jd+fDWN/AXgCyrqukCY6APDIEpMAeWDc7zXPFRLR43AAAAAElFTkSuQmCC");

我已经尝试了我能做的一切,不使用 css 简写/使用 css 简写,不同的 mime 类型,不使用 Google Minify,但都无济于事。但这仍然无法解释为什么这一切都可以通过 WiFi 完美运行。

Android 设备也可以像 Firefox、Chrome 和桌面版 Safari 一样完美运行。此外,当加载实际的 PNG 图像文件(与使用数据 URI 嵌入图像相反)时,图像加载效果很好。

如果有人能阐明这一点,我将永远感激不已,大多数事情我都可以解决,但这让我完全难住了!

最佳答案

我想知道运营商是否阻止数据 URI 方案或普通不支持它。我会尝试将笔记本电脑与移动连接连接起来,看看数据 URI 是否有效。嗯,但是您不会在 Web 服务器日志中看到请求失败。我还建议使用 wireshark 查看传入服务器的请求。并查看移动连接与 wifi 之间的请求是否存在差异(特别是两个请求中发送的 header )

关于iPhone - 数据 URI(css 背景图像)仅在连接到 WIFI 时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4874473/

相关文章:

iphone - UIImagePickerController 语言未更改

javascript - navigator.mediaDevices.enumerateDevices 在 iOS Safari (13.2.3) 上不返回任何音频输入设备

javascript - Safari(移动)IOS - 在外部单击时输入不会失去焦点

javascript - LESS — data-uri 画家 mixin

iphone - iPhone的Objective-C分配变量问题

iphone - iOS 上除了 Restkit 之外的简单 Restful 框架/客户端?

iphone - 无法在 iOS 7 (iPad) 上更改静态表格 View 单元格的背景颜色

html - iPad 和 iPad 2 以不同方式呈现 CSS?

html - 在 IE 中导航到数据 URI

javascript - firefox 中 CSV 文件的数据 URI 未放置 .csv 扩展名