Comment : Obtenir et définir les éléments de la barre de navigation de l'application

Posté le 14. octobre 2024 par Jan Bunk


Pour certains sites web, il peut être utile de modifier dynamiquement les éléments de la barre de navigation des applications. Vous pouvez y parvenir avec ces fonctions JavaScript.

Utilisation des fonctions JavaScript

Nous vous conseillons de consulter la fonction executeWhenAppReady()dans notre script d'aide de l'application. Elle garantit que votre site web n'essaie pas d'interagir avec l'application avant qu'elle ne soit prête ou lorsque votre site web est chargé à l'aide d'un navigateur normal (Erreur de référence, la fonction n'est pas définie).

getNavigationBarItems

Utilisez cette fonction pour obtenir une liste d'objets représentant tous les éléments de la barre de navigation actuellement affichés.


<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

Utilisez cette fonction pour modifier les éléments de la barre de navigation qui doivent être affichés.


<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 setNavigationBarItems(allNavigationBarItems);
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        console.log(e);
    }
</script>
    

Modification du menu de l'application

Voici une liste de documentation pour développeurs concernant la modification dynamique du menu de l'application. Assurez-vous de consulter celle qui s'applique à la mise en page de votre application.