diff --git a/src/server/webclient.py b/src/server/webclient.py index 8c84bba2f7..afdbd49f2c 100644 --- a/src/server/webclient.py +++ b/src/server/webclient.py @@ -171,6 +171,13 @@ class WebClient(resource.Resource): suid = request.args.get('suid', ['0'])[0] if suid == '0': self.client_disconnect(suid) + else: + try: + sess = self.sessionhandler.session_from_suid(suid)[0] + sess.sessionhandler.disconnect(sess) + except IndexError: + self.client_disconnect(suid) + pass return '' def render_POST(self, request): diff --git a/src/web/media/javascript/evennia_webclient.js b/src/web/media/javascript/evennia_webclient.js index 494ee2f420..d80c45cabe 100644 --- a/src/web/media/javascript/evennia_webclient.js +++ b/src/web/media/javascript/evennia_webclient.js @@ -292,11 +292,7 @@ $(document).ready(function(){ }); // Callback function - called when the browser window resizes -$(window).resize(function() { - webclient_set_sizes(); -}); +$(window).resize(webclient_set_sizes); // Callback function - called when page is closed or moved away from. -$(window).unload(function() { - webclient_close(); -}); +$(window).bind("beforeunload", webclient_close);