WebExtensions에서 안정적인 Firefox 48을 사용하고 있습니다. 내 테스트 응용 프로그램을 Socket.IO에 연결했습니다. 팝업을 닫으면 socket.IO 연결이 끊어집니다. 여기에 코드입니다 :팝업이 닫히면 Socket.IO 연결이 끊어집니다.
manifest.json을
{
"manifest_version": 2,
"name": "myapp",
"version": "1.0",
"browser_action": {
"default_icon": {
"96": "button/icon.png"
},
"default_title": "myapp",
"default_popup": "popup/main.html"
}
"background": {
"scripts": ["myclient.js"]
}
}
main.html
<body>
<script src="/scripts/socket.io.js"></script>
<script src="/scripts/jquery-2.2.4.min.js"></script>
<script src="/myclient.js"></script>
</body>
myclient.js
var address = "localhost";
var client = io("http://" + address + ":17001/");
client.on("message", function() {
$("#test").text("message");
});
내 nodeJS 서버 코드
console.log("Server started");
var io = require("socket.io")(17001);
io.on("connection", function (socket) {
var address = socket.request.connection.remoteAddress;
console.log("Someone joined. Socket ID:", socket.id, address);
io.emit("message");
socket.on("disconnect", function() {
console.log("Someone disconnected!");
});
});
연결이 끊어지는 것을 어떻게 막을 수 있습니까?
편집 TIA
: 나는 파이어 폭스background
를 지원하지 않는 here을 읽고, 아직 접속 차단의 문제가 계속 있기 때문에 또한 크롬과 같은 확장을 시도했다.
편집 2 : 앤드류 말에 따라 여전히 작동하지 않는, 내 코드를 업데이트 :
"background": {
"scripts": ["myclient.js", "/scripts/socket.io.js", "/scripts/jquery-2.2.4.min.js"],
"page": "bgp.html"
}
가 나는 또한 scripts
라인을 주석으로 위의 코드를 시도, 여전히 작동하지 않습니다. 내가 myclient.js
에서 연결의 생성을 제거하면
<!DOCTYPE html>
<html lang="en">
<body>
<script src="/scripts/socket.io.js"></script>
<script>
var address = "localhost";
var client = io("http://" + address + ":17001/");
</script>
</body>
</html>
을, 연결이 전혀 발생하지 않습니다! 즉, bgp.html이 작동하지 않는다는 의미입니다.
답장을 보내 주셔서 감사합니다. 제 질문을 업데이트했습니다. 불행히도 연결이 생성되지 않습니다. –
해결책이 있습니까? –
문제를 나타내는 확장 프로그램의 전체 코드를 게시 할 수 있습니까? –