From 24a89756950890291008435271986d95e47d5a20 Mon Sep 17 00:00:00 2001 From: Stephen Cameron Date: Wed, 6 Dec 2017 13:48:56 +0100 Subject: [PATCH] Only open links in a new window if they point to an external URL. WIP #1762 @0.5 --- js/libs/fluidbook/fluidbook.nav.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.nav.js b/js/libs/fluidbook/fluidbook.nav.js index b6fcd14a..c342874f 100644 --- a/js/libs/fluidbook/fluidbook.nav.js +++ b/js/libs/fluidbook/fluidbook.nav.js @@ -436,7 +436,14 @@ FluidbookNav.prototype = { var id = 'extra', $nav = this.getNavFromType(navType), elementID = navType + '_' + id, - navExtraImage; + navExtraImage, + navLinkTarget = ''; + + // Check to see if navExtraLink is external or not and set target accordingly + if (typeof(this.fluidbook.datas.navExtraLink) == 'string' && this.fluidbook.datas.navExtraLink.lastIndexOf('http', 0) === 0) { + navLinkTarget = ' target="_blank" rel="noopener noreferrer"'; + } + if ($nav.find('#' + elementID).length > 0) { continue; @@ -446,7 +453,7 @@ FluidbookNav.prototype = { if (this.fluidbook.datas.navExtraImage != '' && this.fluidbook.datas.navExtraLink != '') { navExtraImage = this.fluidbook.datas.navExtraImage; - link = ''; + link = ''; } else if (this.fluidbook.datas.afterSearch != '' && this.fluidbook.datas.themeEnableAfterSearch && navType == 'horizontalNav') { @@ -457,7 +464,7 @@ FluidbookNav.prototype = { } else if (navType == 'menu' && (this.fluidbook.datas.navExtraImage != '' || this.fluidbook.datas.navExtraImageMobile != '') && this.fluidbook.datas.navExtraLink != '') { navExtraImage = this.fluidbook.datas.navExtraImageMobile || this.fluidbook.datas.navExtraImage; // Fallback to desktop image - link = ' ' + this.fluidbook.datas.navExtraTooltip + ''; + link = ' ' + this.fluidbook.datas.navExtraTooltip + ''; } if (link !== null) { -- 2.39.5