Fixes crossDomain test so that it assumes port to be 80 for http and 443 for https when it is not provided.

This commit is contained in:
jaubourg 2011-01-19 18:35:40 +01:00
parent 1cecfa1ece
commit 7d89d3c072

View file

@ -317,6 +317,7 @@ jQuery.extend({
timeoutTimer, timeoutTimer,
// Cross-domain detection vars // Cross-domain detection vars
loc = document.location, loc = document.location,
protocol = loc.protocol || "http:",
parts, parts,
// The jXHR state // The jXHR state
state = 0, state = 0,
@ -629,9 +630,10 @@ jQuery.extend({
parts = rurl.exec( s.url.toLowerCase() ); parts = rurl.exec( s.url.toLowerCase() );
s.crossDomain = !!( s.crossDomain = !!(
parts && parts &&
( parts[ 1 ] && parts[ 1 ] != loc.protocol || ( parts[ 1 ] && parts[ 1 ] != protocol ||
parts[ 2 ] != loc.hostname || parts[ 2 ] != loc.hostname ||
( parts[ 3 ] || 80 ) != ( loc.port || 80 ) ) ( parts[ 3 ] || ( ( parts[ 1 ] || protocol ) === "http:" ? 80 : 443 ) )
!= ( loc.port || ( protocol === "http:" ? 80 : 443 ) ) )
); );
} }