尝试使用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)
不会出现。
答案 0 :(得分:2)
push.js
不支持file:// protocol。
Ratchet使用XHR请求获取其中的其他页面 应用。出于安全考虑,现代浏览器会阻止XHR 在本地打开文件时的请求(也就是使用file://协议); 因此,当直接打开文件时,棘轮不起作用。一个 对此的常见解决方案是简单地从本地提供文件 服务器。一种方便的方法是运行python -m SimpleHTTPServer用于提供当前目录中的文件 到
http://localhost:<port>
另请参阅Github上提交的this issue和this issue
这似乎是使用Cordova和Ratchet的常见问题。