feat: prevent window close on sessions open (#227)

This commit is contained in:
Q01 2022-02-28 15:11:55 +08:00 committed by GitHub
parent f457388b83
commit 60b9380fe2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -114,6 +114,7 @@ class Access extends Component {
this.renderDisplay(sessionId, protocol, width, height);
window.addEventListener('resize', this.onWindowResize);
window.addEventListener('beforeunload', this.handleUnload);
window.onfocus = this.onWindowFocus;
}
@ -121,6 +122,7 @@ class Access extends Component {
if (this.state.client) {
this.state.client.disconnect();
}
window.removeEventListener('beforeunload', this.handleUnload);
}
sendClipboard(data) {
@ -528,6 +530,12 @@ class Access extends Component {
}
};
handleUnload(e) {
var message = "要离开网站吗?";
(e || window.event).returnValue = message; //Gecko + IE
return message;
}
resize = async (sessionId, width, height) => {
let result = await request.post(`/sessions/${sessionId}/resize?width=${width}&height=${height}`);
if (result.code !== 1) {

View File

@ -166,6 +166,7 @@ class Term extends Component {
});
window.addEventListener('resize', this.onWindowResize);
window.addEventListener('beforeunload', this.handleUnload);
window.onunload = function () {
webSocket.close();
};
@ -176,6 +177,7 @@ class Term extends Component {
if (webSocket) {
webSocket.close()
}
window.removeEventListener('beforeunload', this.handleUnload);
}
getCommands = async () => {
@ -251,6 +253,12 @@ class Term extends Component {
});
};
handleUnload(e) {
var message = "要离开网站吗?";
(e || window.event).returnValue = message; //Gecko + IE
return message;
}
writeCommand = (command) => {
let webSocket = this.state.webSocket;
if (webSocket !== undefined) {