推不起作用(错误:无法获取)

时间:2014-04-25 11:27:04

标签: ios cordova ratchet ratchet-2 push.js

尝试使用Ratchet的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)

如果您点按十次链接,则会开始收到此信息:

[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)

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

文件booking.html存在,像这样的原生狩猎失败

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

不会出现。

1 个答案:

答案 0 :(得分:2)

push.js不支持file:// protocol。

  

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

另请参阅Github上提交的this issuethis issue

这似乎是使用Cordova和Ratchet的常见问题。