私はJavaScriptを学んでいるので、私の質問が無知であると思われる場合は、事前に謝罪してください。
ソケットを使用して、オンラインのインタラクティブなクイズ アプリを作成しています。それはうまくいっています。ただし、ユーザーのモバイル デバイスが自動ロック モードになると、ユーザーがデバイスに再度触れたときに画面がまだ使用可能であっても、websocket が切断されることがわかりました。socket.id を使用してオンライン ユーザーの配列を確立しているため、ソケットを再接続したくありません。
序文で申し訳ありません-これが私の質問です。Websocket が切断されたら、プログラムでウィンドウを閉じる方法はありますか? 以下に試したコード例をいくつか示します。これにより例外がスローされます:「ReferenceError:ウィンドウが定義されていません」ウィンドウはわかっています。コマンドは socket.on 関数の外部で機能するため、内部では呼び出せないと仮定します。
とにかく、私の学習に役立つ解決策に関する洞察、アドバイス、例を歓迎します。
どうもありがとう、SJM72
コードの抜粋:
socket.on('disconnect', () => {
const player_name = getUserName(socket.id);
console.log(player_name, " Has decided to leave the session");
window.open('', '_self', ''); window.close();
});