🎉 Drawer Menu från JSON URL

Detta demo visar hur navbar automatiskt kan ladda menystrukturen från en JSON-fil via konfiguration.

Hur det fungerar

Istället för att manuellt inkludera ett loader-skript kan du nu enkelt konfigurera navbar att ladda menyn från en JSON-fil genom att sätta drawerMenuJsonUrl i konfigurationen:

<script> window.NAVBAR_CONFIG = { height: 80, scrolledHeight: 50, language: 'sv', logoUrl: '../assets/swedac-logo-inverted.svg', drawerMenuJsonUrl: '../assets/menu-structure.json' }; </script> <script src="../navbar/navbar.js"></script>

✨ Fördelar

  • Ingen extra loader-script behövs
  • Automatisk laddning vid navbar-initiering
  • Fallback till window.SITEMAP om laddning misslyckas
  • Stöder både relativa och absoluta URL:er

Testa funktionaliteten

Klicka på hamburgermenyn i övre högra hörnet för att se den automatiskt inladdade menystrukturen från menu-structure.json.

JSON-strukturen

JSON-filen ska ha följande format:

{ "menuItems": [ { "text": "Huvudmeny", "href": "https://example.com/", "children": [ { "text": "Undermeny", "href": "https://example.com/sub/", "children": [] } ] } ] }

📝 Fältbeskrivning

  • menuItems - Array med alla huvudmenyposter
  • text - Texten som visas i menyn
  • href - URL som menyn länkar till
  • children - Array med undermenyer (kan vara tom [])

Fallback-beteende

Om JSON-filen inte kan laddas (felaktig URL, nätverksfel, etc.) faller navbar tillbaka till:

  1. window.SITEMAP.menuItems - Om denna är definierad
  2. Standardmeny - En enkel fallback-meny med länk till www.swedac.se

⚠️ Felhantering

Om laddningen misslyckas visas en varning i console.log med information om felet. Detta hjälper vid felsökning utan att hindra navbar från att fungera.

Exempel med olika URL:er

Relativ URL (lokalt projekt):

drawerMenuJsonUrl: '../assets/menu-structure.json'

Absolut URL (extern server):

drawerMenuJsonUrl: 'https://api.example.com/menu.json'

Samma origin:

drawerMenuJsonUrl: '/api/menu'