![](/img/trans.png)
[英]socket.io connecting from Firefox and Safari but not from Chrome. Also exhibiting weird behaviour with browser refresh
[英]Socket.io connecting to localhost from firefox addon
我在使用 firefox 附加上下文脚本中的 Socket.io 连接到本地 websocket 时遇到问题。
我可以运行网页中托管的相同脚本,以便服务器签出。
相关清单设置
"content_security_policy": "script-src 'self' *127.0.0.1*; object-src 'self'",
"content_scripts": [
{
"matches": ["*://*.website.com/*"],
"js": ["jquery.js", "content_script.js"]
}
content_script.js
$.getScript('http://127.0.0.1:8081/socket.io/socket.io.js',function() {
var socket = io.connect('http://127.0.0.1:8081');
socket.on('connect', function() {
socket.emit('config',
{
server: {
port: 3333,
host: '127.0.0.1'
},
client: {
port: 3334,
host: '127.0.0.1'
}
}
);
socket.on('message', function(obj) {
console.log(obj);
});
socket.emit('message', '/foo/bar 1 2 3');
});
});
它在初始化时失败而没有错误消息。
阅读论坛我可以看到多年来 firefox websocket 安全性发生了很多变化,但许多 about:config 更改或清单规则建议似乎已被弃用。
对于任何可能偶然发现这一点的人,我怀疑是内容安全策略对不允许这种连接非常安静。
毫无疑问,使用清单有一个很好的解决方案,但由于我只在本地运行它,我安装了一个单独的 firefox 开发人员版本,限制了它可以访问的站点,并在 about:config 中关闭了 csp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.