Anleitung: Abrufen und Festlegen der Navigationsleisten-Elemente der App

Veröffentlicht am 14. Oktober 2024 von Jan Bunk


Für einige Websites kann es nützlich sein, die Elemente der Navigationsleiste der Apps dynamisch zu ändern. Du kannst dies mit diesen JavaScript-Funktionen erreichen.

Verwendung der JavaScript-Funktionen

Schau dir gerne auch die executeWhenAppReady() Funktion von unser App-Helfer-Skript. Es stellt sicher, dass deine Website nicht versucht, mit der App zu interagieren, bevor sie bereit ist oder wenn deine Website mit einem normalen Browser geladen wird (ReferenceError, Funktion ist nicht definiert).

getNavigationBarItems

Verwende diese Funktion, um eine Liste von Objekten zu erhalten, die alle Navigationsleisten-Elemente darstellen, die derzeit angezeigt werden.


<script>
    try {
        // returns a list of objects representing the navigation bar items
        let navigationBarItems = (await getNavigationBarItems())["navigationBarItems"];
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        console.log(e);
    }
</script>
    

setNavigationBarItems

Verwende diese Funktion, um die Navigationsleisten-Elemente zu ändern, die angezeigt werden sollen.


<script>
    try {
        // example for a navigation bar item object
        let newNavigationBarItem = {
            label: "Contact",
            action: {
                urlToRedirectTo: "https://webtoapp.design/contact",
                javascriptToExecute: null,
                elementToClickSelector: null,
                isFavoriteAction: false,
                isShareAction: false,
                isOpenExternallyAction: false,
                isSettingsAction: false
            },
            icon: {
                name: "list"
            },
        };

        // get the currently displayed navigation bar items
        let allNavigationBarItems = (await getNavigationBarItems())["navigationBarItems"];

        // add the new navigation bar item to the list of navigation bar items
        allNavigationBarItems.push(newNavigationBarItem);

        // display the list of navigation bar items, including the new navigation bar item
        await setMenuItems(allNavigationBarItems);
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        console.log(e);
    }
</script>
    

Ändern des App-Menüs

Hier ist eine Liste der zugehörigen Entwicklerdokumentationen über das dynamische Ändern des App-Menüs. Stelle sicher, dass du diejenige ansiehst, die für das Layout deiner App zutrifft.