推不工作(错误:无法获得)

尝试使用棘轮的push.js,但不起作用。 我在控制台中有什么:

[Error] Error: Could not get: file:///var/mobile/Applications/337585D8-89E1-4810-AB37-0A6DD2DA3A34/Gustav.app/www/booking.html failure (ratchet.js, line 446) onreadystatechange (ratchet.js, line 371) 

如果你点击10次链接,你开始收到这个:

 [Error] TypeError: 'undefined' is not an object (evaluating 'cacheMapping[PUSH.id].url') cachePush (ratchet.js, line 202) PUSH (ratchet.js, line 392) touchend (ratchet.js, line 258) 

所有这些来自真实设备testing(iOS 7.1)的控制台数据,包装都是Cordova CLI 3.4.1-0.1.0。

文件booking.html存在,像这样的本地Safari浏览器失败

 [Error] Failed to load resource: The requested URL was not found on this server. (menu.html, line 0) 

不会出现。

push.js不支持file://协议。

棘轮使用XHR请求来获取应用程序内的其他页面。 由于安全考虑,现代浏览器在本地打开文件时(也就是使用file://协议)阻止XHR请求; 因此,当直接打开文件时,棘轮不起作用。 一个通用的解决scheme是简单地从本地服务器提供文件。 一个方便的方法是运行python -m SimpleHTTPServer将当前目录中的文件提供给http://localhost:<port>

也看到这个问题,并在Github 上提交这个问题

这似乎是使用cordova和棘轮常见的问题。

Interesting Posts