diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-09 14:23:55 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-09 14:23:55 -0400 |
| commit | b1b3a280a49813c0c1008c4cf410c12b520c02f6 (patch) | |
| tree | 622efe6034eee754dfaca6475971d6a5d111f322 | |
| parent | a0fea896fddcacaeaaca112d4f6f3b1c582c1436 (diff) | |
improve web socket close
| -rw-r--r-- | MediaBrowser.WebDashboard/ApiClient.js | 28 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/packages.config | 2 |
2 files changed, 13 insertions, 17 deletions
diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index 66bf34248..7db97e660 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -27,14 +27,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi var currentUserId; var webSocket; - $(window).on("beforeunload", function () { - - // Close the connection gracefully when possible - if (webSocket && webSocket.readyState === WebSocket.OPEN) { - webSocket.close(); - } - }); - /** * Gets the server host name. */ @@ -195,6 +187,12 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi }; }; + self.closeWebSocket = function () { + if (webSocket && webSocket.readyState === WebSocket.OPEN) { + webSocket.close(); + } + }; + self.sendWebSocketMessage = function (name, data) { var msg = { MessageType: name }; @@ -3427,17 +3425,15 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi throw new Error("null itemId"); } - // Always use the http api in case playback is stopped by closing the browser - // See window beforeunload event at the top of this file - //if (self.isWebSocketOpen()) { + if (self.isWebSocketOpen()) { - // var deferred = $.Deferred(); + var deferred = $.Deferred(); - // self.sendWebSocketMessage("PlaybackStopped", itemId + "|" + (positionTicks == null ? "" : positionTicks)); + self.sendWebSocketMessage("PlaybackStopped", itemId + "|" + (positionTicks == null ? "" : positionTicks)); - // deferred.resolveWith(null, []); - // return deferred.promise(); - //} + deferred.resolveWith(null, []); + return deferred.promise(); + } var params = { }; diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index 21812f626..b3add5674 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="MediaBrowser.ApiClient.Javascript" version="3.0.172" targetFramework="net45" /> + <package id="MediaBrowser.ApiClient.Javascript" version="3.0.174" targetFramework="net45" /> <package id="ServiceStack.Common" version="3.9.58" targetFramework="net45" /> <package id="ServiceStack.Text" version="3.9.58" targetFramework="net45" /> </packages>
\ No newline at end of file |
