我创建了一个供 Android 和 iPhone 设备使用的移动 Web 应用程序,经过测试,我很高兴一切正常,因此决定尝试对其进行一些优化。
我决定在我的 css 文件中使用数据 uri,因为所有图像都是 16x16px 的小 png 图像。
使用通过 WiFi 连接到 Internet 的 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 嵌入图像相反)时,图像加载良好。
如果有人能对此有所了解,我将永远感激不尽,大多数事情我都能解决,但这让我完全难过!