Customize: Fix HTTPS navigation of site in preview on IE11.
Accounts for HTTPS links (port 443) where [40318] only accounted for HTTP links (port 80). Addresses issue in IE11 where the default port number is unexpectedly included on `link.host` for links dynamically created by scripts. Props mattwiebe. Amends [40318], [38890]. See #38409. Fixes #40198. git-svn-id: https://develop.svn.wordpress.org/trunk@40381 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e5508461da
commit
86d333dc26
@ -655,7 +655,7 @@ window.wp = window.wp || {};
|
|||||||
var urlParser = document.createElement( 'a' );
|
var urlParser = document.createElement( 'a' );
|
||||||
urlParser.href = to;
|
urlParser.href = to;
|
||||||
// Port stripping needed by IE since it adds to host but not to event.origin.
|
// Port stripping needed by IE since it adds to host but not to event.origin.
|
||||||
return urlParser.protocol + '//' + urlParser.host.replace( /:80$/, '' );
|
return urlParser.protocol + '//' + urlParser.host.replace( /:(80|443)$/, '' );
|
||||||
});
|
});
|
||||||
|
|
||||||
// first add with no value
|
// first add with no value
|
||||||
|
@ -286,11 +286,11 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
elementHost = element.host.replace( /:80$/, '' );
|
elementHost = element.host.replace( /:(80|443)$/, '' );
|
||||||
parsedAllowedUrl = document.createElement( 'a' );
|
parsedAllowedUrl = document.createElement( 'a' );
|
||||||
matchesAllowedUrl = ! _.isUndefined( _.find( api.settings.url.allowed, function( allowedUrl ) {
|
matchesAllowedUrl = ! _.isUndefined( _.find( api.settings.url.allowed, function( allowedUrl ) {
|
||||||
parsedAllowedUrl.href = allowedUrl;
|
parsedAllowedUrl.href = allowedUrl;
|
||||||
return parsedAllowedUrl.protocol === element.protocol && parsedAllowedUrl.host.replace( /:80$/, '' ) === elementHost && 0 === element.pathname.indexOf( parsedAllowedUrl.pathname.replace( /\/$/, '' ) );
|
return parsedAllowedUrl.protocol === element.protocol && parsedAllowedUrl.host.replace( /:(80|443)$/, '' ) === elementHost && 0 === element.pathname.indexOf( parsedAllowedUrl.pathname.replace( /\/$/, '' ) );
|
||||||
} ) );
|
} ) );
|
||||||
if ( ! matchesAllowedUrl ) {
|
if ( ! matchesAllowedUrl ) {
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user