Permalink
Browse files

Ajax: remove "onunload" event handler

Remove hack for IE lost connections, update for it was released
by Microsoft at November 12, 2013.
See https://support.microsoft.com/en-us/kb/2905733

Ref trac-5280
Ref gh-2047
  • Loading branch information...
markelog committed Apr 2, 2015
1 parent 9db9316 commit a117dd05f638a078c21dc57f19966f4ae81f98f0
Showing with 3 additions and 18 deletions.
  1. +3 −18 src/ajax/xhr.js
View
@@ -10,9 +10,7 @@ jQuery.ajaxSettings.xhr = function() {
} catch ( e ) {}
};
-var xhrId = 0,
- xhrCallbacks = {},
- xhrSuccessStatus = {
+var xhrSuccessStatus = {
// file protocol always yields status code 0, assume 200
0: 200,
// Support: IE9
@@ -21,17 +19,6 @@ var xhrId = 0,
},
xhrSupported = jQuery.ajaxSettings.xhr();
-// Support: IE9
-// Open requests must be manually aborted on unload (#5280)
-// See https://support.microsoft.com/kb/2856746 for more info
-if ( window.attachEvent ) {
- window.attachEvent( "onunload", function() {
- for ( var key in xhrCallbacks ) {
- xhrCallbacks[ key ]();
- }
- });
-}
-
support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
support.ajax = xhrSupported = !!xhrSupported;
@@ -43,8 +30,7 @@ jQuery.ajaxTransport(function( options ) {
return {
send: function( headers, complete ) {
var i,
- xhr = options.xhr(),
- id = ++xhrId;
+ xhr = options.xhr();
xhr.open(
options.type,
@@ -84,7 +70,6 @@ jQuery.ajaxTransport(function( options ) {
callback = function( type ) {
return function() {
if ( callback ) {
- delete xhrCallbacks[ id ];
callback = xhr.onload = xhr.onerror = null;
if ( type === "abort" ) {
@@ -117,7 +102,7 @@ jQuery.ajaxTransport(function( options ) {
xhr.onerror = callback("error");
// Create the abort callback
- callback = xhrCallbacks[ id ] = callback("abort");
+ callback = callback("abort");
try {
// Do send the request (this may raise an exception)

0 comments on commit a117dd0

Please sign in to comment.