5

我遇到了一个问题,我从 Instagram API 获得的图像 URL 没有在 Opera Mini 浏览器上显示图像,它在 Android 浏览器或 Safari 上运行良好。

这是图像。我不确定这里的问题是什么,但是通过查看 URL,似乎图像是使用 amazons3 托管的,并且其中可能有一些缓存机制,Opera 处理得不好。这些有什么解决方法?我根本无法放弃对 Opera mini 的支持,因为我网站 50% 的流量都来自那里。对此进行测试的最佳方法是在您的设备上下载 Opera Mini(我正在尝试此处网站提供的模拟器,但没有成功)

另一个示例尝试从opera mini打开这个instagram 用户配置文件。您可以看到大多数图像没有加载。

4

4 回答 4

5

Instagram 使用 javascript 渲染图像。如果您将在以下位置打开控制台opera mini

server:console?post=http://instagram.com/shoptastus

你会得到 javascript 错误。因此,由于页面上的 javascript 已损坏,因此未加载图像。

PS你可以server:console?post=url在opera mini中使用所有的javascript错误:)

于 2014-04-11T16:35:30.003 回答
2

我已经测试了图像,但它也没有出现在我的手机上,即使在更改了 Opera Mini 上的所有可用设置之后也是如此。

Opera Mini 常见问题页面的摘录:

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/ 我相信他们会查看它并且它是尽快修复此问题的最佳机会。

您也可以尝试在 Opera 社区论坛上发帖:
http ://forums.opera.com/categories/en-opera-mini

祝你好运。

于 2014-04-16T16:09:57.917 回答
1

我使用的是 Opera Mini 7.0.5,我可以看到您提供的链接上的所有图像。一旦检查以下设置,如果关闭则打开。

Go to Menu > Settings and make sure "load images" is On .
于 2014-04-11T11:54:49.793 回答
1

解决此问题的方法是自己提供照片。

instagram API 条款允许您在合理的时间内缓存内容。这意味着您可以围绕这个流程做一些事情:

  • 如果图像请求来自 Opera Mini
    • 从服务器请求图像
    • 缓存它
    • 提供指向缓存图像资源的 URL
    • 如果在X时间后删除
  • 别的
    • 服务器从 instagram 获得的 URL

这不是那么方便,但提供一个优雅降级的服务总比没有服务好。

于 2014-04-16T20:17:07.913 回答