我遇到了一个问题,即我从Instagram API获得的图像URL没有在Opera Mini浏览器上显示图像,并且在Android浏览器或Safari上运行良好。
这是图片。我不确定这里的问题是什么,但通过查看 URL,似乎该图像是使用 amazons3 托管的,并且其中可能存在一些 opera 处理不好的缓存机制。这些有什么解决方法?我根本无法放弃 opera mini 支持,因为我网站的 50% 流量来自那里。测试这一点的最佳方法是在您的设备上下载 Opera Mini(我正在尝试此处站点提供的模拟器,但它不起作用)
另一个例子是尝试从opera mini打开这个Instagram用户个人资料。您可以看到大多数图像都没有加载。
javascript渲染图像。如果要在opera mini
中打开控制台:
server:console?post=http://instagram.com/shoptastus
你会收到JavaScript错误。所以图像没有加载,因为页面上的javascript被破坏了。
附言您可以在 opera mini 中使用 server:console?post=url
获取所有 javascript 错误:)
我已经测试了图像,即使更改了 Opera Mini 上的所有可用设置,它也没有显示在我的手机上。
摘自 Opera Mini FAQ 页面:
Opera Mini使用转码器服务器来翻译HTML/CSS/JavaScript 转换为更紧凑的格式。它还将缩小任何图像以适应 手机屏幕。这个翻译步骤使Opera Mini变得快速, 体积小,而且使用起来也很便宜。
我的猜测是 Opera mini 在对某些类型的图像进行转码时失败了。我已经测试了其他图像,例如png,jpg和gif,它们都正确显示。
在收集了有关Instagram图像的更多信息后,我发现它们的JFIF属性是:
JFIF Version 1.01
Resolution 1 pixels/None
如果我在 Photoshop 上转换相同的图像,Opera mini 会正确显示它。
基于此,我可以假设问题与缓存或亚马逊无关,而是与opera mini
和图像之间的关系有关JFIF Resolution 1 pixels/None
恐怕除了在 Opera Mini 错误报告页面上填写错误报告之外,我没有适合您的解决方案:
https://mini.bugs.opera.com/我相信他们会看的,这是您尽快修复此问题的最佳机会。
您也可以尝试在歌剧社区论坛上发帖:
http://forums.opera.com/categories/en-opera-mini
祝你好运。
我正在使用 Opera Mini 7.0.5,我能够在您提供的链接上看到所有图像。一旦检查以下设置,如果关闭,则打开。
Go to Menu > Settings and make sure "load images" is On .
此问题的解决方法是自己提供照片。
Instagram API条款允许您在合理的时间内缓存内容。这意味着您可以围绕此流执行一些操作:
- 如果图像请求来自 Opera Mini
- 从服务器请求图像
- 缓存它
- 提供指向缓存图像资源的网址
- 如果在 X 时间之后删除
- 还
- 服务器你从Instagram获得的网址
这不是那么方便,但提供优雅降级的服务总比没有服务要好。