vue 使用了浏览器的刷新之后报错_98、解决vue-cli3项目运行时sockjs报错问题

使用vue-cli3创建的项目,在谷歌浏览器运行没有问题,但在火狐浏览器、ie浏览器和edge浏览器上运行都会报错(就测试了这几个浏览器,其它的没测),具体报错内容如下:

// 火狐浏览器 报错如下

"载入页面时与 ws://localhost:8080/sockjs-node/631/u0rsdsy0/websocket 的连接中断"

// ie浏览器 报以下错误

SCRIPT5022: SecurityError

sockjs.js (1683,3)

// edge浏览器 报以下错误

SCRIPT12017: SCRIPT12017: WebSocket Error: SECURITY_ERR, Cross zone connection not allowed

解决方法:

找到/node_modules/sockjs-client/dist/sockjs.js

2.找到代码的 1605行

try {

// self.xhr.send(payload); // 把这行注释掉

} catch (e) {

self.emit('finish', 0, '');

self._cleanup(false);

}

3.刷新,搞定

刚开始以为是兼容性问题,折腾了好久,发现不是,后来找到一篇大佬写的文章,才得以解决

start//

首先 sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟、全双工的浏览器和web服务器之间通信通道。

*服务端:sockjs-node(https://github.com/sockjs/sockjs-node)

客户端:sockjs-clien(https://github.com/sockjs/sockjs-client)*

如果你的项目没有用到 sockjs,vuecli3 运行 npm run serve 之后 network 里面一直调研一个接口:http://localhost:8080/sockjs-node/info?t=1462183700002**

作为一个有节操的程序猿,实在不能忍受,特意自己研究了下源码,从根源上关闭这个调用

找到/node_modules/sockjs-client/dist/sockjs.js *

2.找到代码的 1605行 *

try {

// self.xhr.send(payload); 把这里注掉

} catch (e) {

self.emit('finish', 0, '');

self._cleanup(false);

}

3.刷新,搞定。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值