socket.io“net :: ERR_FAILED”,包含Progressive Web App的缓存清单

时间:2017-04-02 05:21:28

标签: javascript socket.io cache-manifest

我正在开发一个Progressive Web App,它使用.manifest文件来缓存客户端上的所有文件。我修改了socket.io chat示例,可以在这里找到:

https://github.com/socketio/chat-example

我的修改可以在这里找到:

https://github.com/TennisVisuals/socket.io.manifest.errors

客户端代码的第一个更改是:

  • 外部资源(jquery和socket.io客户端库)在本地访问,而不是通过远程URL访问。

一切都按预期工作。

但第二次改变:

  • <html>已替换为<html manifest="index.manifest">

应用程序失败,在Javascript控制台中出现此错误:

http://localhost:3000/socket.io/?EIO=3&transport=polling&t=Lij1LRo net::ERR_FAILED

初始修复

我已经能够通过添加以下行来使其在本地工作:

enter var connectionOptions =  {
   "force new connection" : true,
   "reconnectionAttempts": "Infinity",
   "timeout" : 10000,
};
var socket = io(connectionOptions);

Cloudflare和Nginx

但是当我使用Cloudflare和Nginx时,我现在看到了更奇怪的行为。

没有清单声明我收到错误,但一切仍然有效!

socket.io-1.7.2.js:7370 WebSocket connection to 'wss://hiveeye.net/socket.io/?EIO=3&transport=websocket&sid=rM2LKvCGJwaFx7RrAAAf' failed: Error during WebSocket handshake: Unexpected response code: 400

添加清单声明后,它只运行一次,然后失败并出现以下错误:

socket.io-1.7.2.js:4948 GET https://hiveeye.net/socket.io/?EIO=3&transport=polling&t=Lik5SC5&sid=rM2LKvCGJwaFx7RrAAAf net::ERR_FAILED
GET https://hiveeye.net/socket.io/?EIO=3&transport=polling&t=Lik5STN net::ERR_FAILED
GET https://hiveeye.net/socket.io/?EIO=3&transport=polling&t=Lik5STN net::ERR_FAILED

我怀疑如果我在没有清单的情况下运行时可以获得最初的错误消失,那可能会有所帮助......但是我一直无法找到任何东西来帮助我解决这个问题...

1 个答案:

答案 0 :(得分:0)

好的,一旦我发现如何提出正确的问题,这真的很简单

添加:

NETWORK:
*
清单文件底部的

使一切正常。

是的,&#34;应用缓存&#34;已弃用: https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache

但我还是想让它发挥作用!!