Always open in new tab scriptje, maar mét uitzondering
Dat heb ik gevonden in een javascriptje wat in de footer van mijn thema hoort:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
//<![CDATA
jQuery(document).ready(function($) {
$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if (!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});
});
//]]>
</script>
//<![CDATA
jQuery(document).ready(function($) {
$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if (!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});
});
//]]>
</script>
Nu werkt het scriptje fantastisch, alleen maak ik regelmatig gebruik van 'Lity' (https://sorgalla.com/lity/) om externe afbeeldingen of YouTube filmpjes in een lightbox te tonen. Als ik het scriptje gebruik, werkt de lightbox niet meer en openen de afbeeldingen/filmpjes óók in een nieuw venster.
Ik heb ook een aantal WP-plugins geprobeerd die hetzelfde doen, dan werkt de lightbox wel normaal, maar wordt er daarnaast ook nog een tab geopend. Ik kan voor beide opties (script of plug-in) niet uitgevonden krijgen hoe ik een uitzondering kan maken voor de lightbox, dus hoop ik dat hier iemand wellicht een oplossing heeft!
Bij één van de plug-ins die ik heb geprobeerd kun je overigens uitzonderingen benoemen, maar dat werkt dan weer via JS regular expression en ik heb écht geen kaas gegeten van javascript..
Bij voorbaat dank!
Gewijzigd op 20/11/2022 17:47:31 door Ester Dammers
Je moet alleen even een child-theme maken en die javascript daarin toevoegen.
Maar ik heb dus geen kennis van javascript/jQuery oid. :) Overigens heb ik nu weer een andere plug-in gevonden die de externe links netjes in een nieuwe tab opent, maar de lightbox met rust laat. Je kunt er verder niks aan instellen, maar als het werkt is het prima. Om duizenden links achteraf handmatig op 'open in new tab' te zetten zag ik niet helemaal zitten. :)
Vooral JavaScript komt nog wel eens om de hoek kijken bij webdesign..