- Patch #1174686 by ksenzee: overlay parent improperly opens child overlay on specific external links.
parent
346234352c
commit
71d16d907d
|
@ -346,6 +346,10 @@ Drupal.overlay.setFocusBefore = function ($element, document) {
|
||||||
* TRUE if the URL represents an administrative link, FALSE otherwise.
|
* TRUE if the URL represents an administrative link, FALSE otherwise.
|
||||||
*/
|
*/
|
||||||
Drupal.overlay.isAdminLink = function (url) {
|
Drupal.overlay.isAdminLink = function (url) {
|
||||||
|
if (Drupal.overlay.isExternalLink(url)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var path = this.getPath(url);
|
var path = this.getPath(url);
|
||||||
|
|
||||||
// Turn the list of administrative paths into a regular expression.
|
// Turn the list of administrative paths into a regular expression.
|
||||||
|
@ -362,6 +366,20 @@ Drupal.overlay.isAdminLink = function (url) {
|
||||||
return this.adminPathRegExp.exec(path) && !this.nonAdminPathRegExp.exec(path);
|
return this.adminPathRegExp.exec(path) && !this.nonAdminPathRegExp.exec(path);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine whether a link is external to the site.
|
||||||
|
*
|
||||||
|
* @param url
|
||||||
|
* The url to be tested.
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
* TRUE if the URL is external to the site, FALSE otherwise.
|
||||||
|
*/
|
||||||
|
Drupal.overlay.isExternalLink = function (url) {
|
||||||
|
var re = RegExp('^((f|ht)tps?:)?//(?!' + window.location.host + ')');
|
||||||
|
return re.test(url);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event handler: resizes overlay according to the size of the parent window.
|
* Event handler: resizes overlay according to the size of the parent window.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue