Externer Link öffnet sich nicht in neuem Fenster, sondern im aktuellen
Hallo zusammen,
wenn ich in einem Inhaltselement "Text" einen Link generiere und dort die Einstellung "In neuem Fenster öffnen" anwähle, öffnet sich der Link immer im aktuellen Fenster, anstatt ein neues zu öffnen.
Ist das ein Bug der Version 5.3.x oder übersehe ich da etwas?
Wenn das ein Bug ist, hat den schon jemand gemeldet?
target="_blank" vorhanden?
@grashalm
Gerne Link der Seite per DM.
Kannst du aber über Dev-Tools oder über Strg + U kontrollieren und schauen ob dieser Link ein target="_blank" hat.
Sofern dies der Fall ist, dann sind es deine Browser-Einstellungen (wie von den anderen erwähnt) oder ein Plugin.
Müsstest du in einer reinen Contao-Installation nachstellen.
Entferne einfach das gesamte JavaScript
Unter uns, du brauchst sicherlich nicht dieses
PHP-Code:
<!-- page-transition: anfang -->
... Das erwähnte Script ...
<!-- page-transition: ende -->
JavaScript auf deiner Seite ;)
Das nutzen nur Seiten, welche Themes nutzen die schon so schlecht optimiert sind, dass man einen Ladebalken braucht, damit Nutzer bis zu 30 Sekunden eine schöne Animation sehen können.
Diese brauchst du auf deiner Seite nicht :)
Wenn du dennoch deine Ladebalken haben möchtest
Ansonsten kannst du den Theme-Hersteller gerne anschreiben und sagen, dass sein
UX und A11Y zerstörendes JavaScript doch bitte geändert werden sollte in
PHP-Code:
var anchors = document.getElementsByTagName('a:not[target="_blank"');
for (var idx = 0; idx < anchors.length; idx += 1) {
if (anchors[idx].pathname === window.location.pathname) {
continue
}
anchors[idx].addEventListener('click', function(event) {
var fader = document.getElementById('fader')
, anchor = event.currentTarget;
var listener = function() {
window.location = anchor.href;
fader.removeEventListener('animationend', listener)
};
fader.addEventListener('animationend', listener);
event.preventDefault();
fader.classList.add('fade-in')
})
}
Was ich hier geändert habe ist:
PHP-Code:
document.getElementsByTagName('a')
zu
PHP-Code:
document.getElementsByTagName('a:not[target="_blank"')
Leider gibt es immer noch genug Leute im Web-"Schwurbler"-Bereich, welche sich weiter bilden sollten :)