三星平板电脑上的Meteor本地存储不起作用

时间:2014-02-24 14:07:56

标签: meteor

我有一台带有android 4.2的平板电脑SM-T211,当我将我的应用程序部署到meteor.com时,它在我桌面上的Chrome中运行良好但在平板电脑上我的所有收藏都是空的。我需要在平板电脑上使用一些设置才能使其正常工作吗?

编辑: 好的,更多的测试揭示了更奇怪的东西:   - 使用Chrome我的测试应用程序使用我的本地服务器和meteor.com   - 使用内置浏览器,它使用我的本地服务器,但使用meteor.com失败,出现Websockets错误。

代码在这里:https://www.dropbox.com/s/dbrfuwbpyo1hgv7/test.tar.gz 流星站点是lstest.meteor.com

3 个答案:

答案 0 :(得分:1)

不确定发生了什么,但可能是由于WebSocket支持

其他可能性(有些可能是疯狂的):

  • 防火墙。不知道如何挑选你的设备,但值得一试。

  • 它也可能是您拥有的软件包的版本。尝试更新所有这些,或检查他们最近的版本的问题。我曾经使用过IronRouter,由于API更改,我的代码更新了。

  • 可能是您的浏览器使用的是某个文件的旧版本。在进行开发时禁用缓存,或者至少清除它们。更好的是,以私人/隐身模式发展。

  • 检查服务器上的流星。他们可能正在使用比他们发布的版本更老,更稳定的版本。这为this guy(但在Nginx上)解决了这个问题。确保服务器和本地版本匹配。

  • 您的设备可能处于“数据上限模式”。内置应用程序通常会尊重设备设置,第三方设备有时不会(特别是亮度,旋转等),这可以解释内置浏览器无法解决Chrome的问题。请务必禁用任何限制器,如省电,数据上限,智能Wi-Fi等。

  • 我注意到WebSockets有不同的协议,而CanIUse网站确实提到了不安全的旧协议。可能是内置浏览器使用较旧的协议,该协议不会提示XHR回退,但服务器拒绝它。狂野,但是一种预感。

答案 1 :(得分:0)

您的ISP可能正在使用不允许像我的isp那样的websockets的代理。虽然您确实看到此错误,但这意味着客户端会回退到XHR。特别是如果你正在使用某种3G / LTE /无线连接。

这可能是它在本地工作的原因,但不适用于meteor部署托管。

这不是一个真正的问题,要回到XHR客户端需要知道websocket失败。

如果您尝试使用https://lstest.meteor.com(使用https://),则可以避免此问题(因为代理不能更改SSL)

如果您愿意,可以添加force-ssl包以使每个人都使用SSL并避免此问题 - 如果https://有效。

答案 2 :(得分:0)

我尝试了上面的所有建议(谢谢)并没有快乐。今天注意到流星7.1已经发布后,我将我的项目从7.0升级到7.1,现在它正在运行。

默认的Android浏览器在7.0中肯定有些奇怪,我在两个不同的meteor.com网站上确认收藏品不能用于两个不同的设备,3个不同的网络(wifi和3G)。