Fehler: GET-Parameter Fehler bei Tab-Navigation

Florian Eustergerling's Avatar

Florian Eustergerling

16 Oct, 2020 01:33 PM

Produkt: Oneo Contao
Browser und Browserversionen: Mozilla Firefox 81.0.2 (64-Bit)

Wenn in einem Link ein Query-String mit GET-Parametern angehängt wurde, dann kann das Skript für die Tab-Navigation den Link nicht mehr richtig parsen. Es tritt dann ein Fehler auf und die Tab-Navigation funktioniert nicht mehr.

Fehler:
Uncaught TypeError: clickFirst is not a function script.js:862:4

Ich habe den Fehler für mich folgendermaßen gefixt (auch siehe Anhang):

files/oneo/js/script.js Zeile 815 - 817

//16-10-2020 Fix, falls GET-Parameter angehängt werden
        let documentHrefParts = documentHref[ 0 ].split( '?' );
        documentHref[ 0 ] = documentHrefParts[ 0 ];
  1. Support Staff 1 Posted by RockSolid Theme... on 16 Oct, 2020 03:01 PM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Wir konnten den Fehler nicht reproduzieren.

    In der Live-Demo des Oneo-Themes tritt der Fehler nicht auf: https://oneo.demo.rocksolidthemes.com/accordions-tabs?get-parameter=test

  2. 2 Posted by Florian Eusterg... on 19 Oct, 2020 03:32 PM

    Florian Eustergerling's Avatar

    Haben Sie eventuell eine Vermutung, was die Ursache des Problems sein könnte?
    Das Skript wird korrekt am Ende des body-Tags eingebunden.

    Die verwendeten Links haben folgenden Aufbau:
    https://meine.seite.de/module.html?showModule=gutscheinsystem

    Die href-Attribute der anklickbaren Tabs sehen wie folgt aus:
    module.html?showModule=gutscheinsystem#overview
    module.html?showModule=gutscheinsystem#settings

    Ich habe meinen Fix noch etwas angepasst, so dass das Problem dadurch behoben zu sein scheint.

    // Tabs
        (function(navigations) {
    
            if (!navigations || !navigations.length) {
                return;
            }
    
            var documentHref = document.location.href.split('#');
    
            //16-10-2020 Fix, falls GET-Parameter angehängt werden
            let documentHrefParts = documentHref[ 0 ].split( '?' );
            documentHref[ 0 ] = documentHrefParts[ 0 ];
    
            each(navigations, function(navigation) {
    
                var links = navigation.querySelectorAll('a');
                var targets = [];
                var clickFirst;
    
                each(links, function(link, i) {
    
                    var href = link.href.split('#');
    
                    //19-10-2020 Fix, falls GET-Parameter angehängt werden
                    let hrefParts = href[ 0 ].split( '?' );
                    href[ 0 ] = hrefParts[ 0 ];
    
                    if (
                        href[0] &&
                        documentHref[0].substr(- href[0].length) !== href[0]
                    ) {
                        return;
                    }
                    var target = document.querySelector('#' + href[1]);
                    if (!target) {
                        return;
                    }
    
                    targets.push(target);
    
                    var onclick = function(event) {
                        eventPreventDefault(event);
                        eventStop(event);
                        each(targets, function(target) {
                            target.style.display = 'none';
                        });
                        removeClass(links, 'is-active');
                        addClass(link, 'is-active');
                        target.style.display = '';
                        link.blur();
                        triggerEvent(window, 'resize');
                    };
                    addEvent(link, 'click', onclick);
    
                    // First element
                    if (!clickFirst) {
                        clickFirst = onclick;
                    }
    
                });
    
                clickFirst();
    
            });
    
        })(document.querySelectorAll && document.querySelectorAll('.tab-navigation'));
    
  3. Support Staff 3 Posted by RockSolid Theme... on 20 Oct, 2020 10:23 AM

    RockSolid Themes's Avatar

    Haben Sie eventuell eine Vermutung, was die Ursache des Problems sein könnte?

    Nein, bisher haben wir auch noch keine Probleme mit der Tab-Navigation von Kunden erfahren.

    Sie könnten überprüfen ob eventuell ein Problem mit dem <base>-Tag im HTML-Header vorliegt.

    Damit wir Ihnen zielgerichteter weiterhelfen können, schicken Sie uns bitte einen Link zur betroffenen Seite auf der sich der Fehler nachstellen lässt.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Already uploaded files

  • oneoTabNavFix.js 1.35 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac