Fixes #8509. Makes URL regexp less overzealous and ensures it recognizes URL schemes which do not contain a conformant hierarchical structure ( as per section 2.1.2 of http://www.ietf.org/rfc/rfc2718.txt ). Also adds about: and adobe air's app: and app-storage: to the list of local protocols and provides a failover in case document.location is illformed. Unit test added.
This commit is contained in:
parent
6c124d3dd4
commit
714ae379db
2 changed files with 14 additions and 4 deletions
|
@ -492,7 +492,7 @@ test(".ajax() - hash", function() {
|
|||
|
||||
test("jQuery ajax - cross-domain detection", function() {
|
||||
|
||||
expect( 5 );
|
||||
expect( 6 );
|
||||
|
||||
var loc = document.location,
|
||||
otherPort = loc.port === 666 ? 667 : 666,
|
||||
|
@ -508,6 +508,7 @@ test("jQuery ajax - cross-domain detection", function() {
|
|||
});
|
||||
|
||||
jQuery.ajax({
|
||||
dataType: "jsonp",
|
||||
url: 'app:/path',
|
||||
beforeSend: function( _ , s ) {
|
||||
ok( s.crossDomain , "Adobe AIR app:/ URL detected as cross-domain" );
|
||||
|
@ -533,6 +534,15 @@ test("jQuery ajax - cross-domain detection", function() {
|
|||
}
|
||||
});
|
||||
|
||||
jQuery.ajax({
|
||||
dataType: "jsonp",
|
||||
url: "about:blank",
|
||||
beforeSend: function( _ , s ) {
|
||||
ok( s.crossDomain , "Test about:blank is detected as cross-domain" );
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.ajax({
|
||||
dataType: "jsonp",
|
||||
url: loc.protocol + "//" + loc.host,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue