diff --git a/html/janus.js b/html/janus.js index 32245fcacb..344ae52686 100644 --- a/html/janus.js +++ b/html/janus.js @@ -25,7 +25,7 @@ */ // List of sessions -Janus.sessions = {}; +Janus.sessions = new Map(); Janus.isExtensionEnabled = function() { if(navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) { @@ -478,10 +478,10 @@ Janus.init = function(options) { let oldOBF = window["on" + eventName]; window.addEventListener(eventName, function() { Janus.log("Closing window"); - for(let s in Janus.sessions) { - if(Janus.sessions[s] && Janus.sessions[s].destroyOnUnload) { - Janus.log("Destroying session " + s); - Janus.sessions[s].destroy({unload: true, notifyDestroyed: false}); + for(const [sessionId, session] of Janus.sessions) { + if(session && session.destroyOnUnload) { + Janus.log("Destroying session " + sessionId); + session.destroy({unload: true, notifyDestroyed: false}); } } if(oldOBF && typeof oldOBF == "function") { @@ -1014,7 +1014,7 @@ function Janus(gatewayCallbacks) { } else { Janus.log("Created session: " + sessionId); } - Janus.sessions[sessionId] = that; + Janus.sessions.set(sessionId, that); callbacks.success(); }); ws.send(JSON.stringify(request)); @@ -1058,7 +1058,7 @@ function Janus(gatewayCallbacks) { } else { Janus.log("Created session: " + sessionId); } - Janus.sessions[sessionId] = that; + Janus.sessions.set(sessionId, that); eventHandler(); callbacks.success(); },