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
編集:私はFirefoxはbackground
をサポートしていないことhereを読むためはまた、クロムと同じ拡張を試みたが、まだ接続破壊の問題が解消されません。
EDIT 2:アンドリューが言った通りはまだ動作しません、私のコードを更新:
"background": {
"scripts": ["myclient.js", "/scripts/socket.io.js", "/scripts/jquery-2.2.4.min.js"],
"page": "bgp.html"
}
は私もscripts
行をコメントすることにより、上記のコードを試してみましたが、まだ動作しません。
<!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私は
myclient.js
からの接続の作成を削除した場合、接続がまったく発生しません!つまり、bgp.htmlは動作しません。
あなたの返信ありがとう、私は私の質問を更新しました。残念ながら接続は作成されません。 –
解決策はありますか? –
問題を示す拡張機能の完全なコードを投稿できますか? –