Home Chi Siamo Blog Contatti
Vivacity Logo

Benvenuti su Vivacity Design


Community Open Blog

Se usi Chrome o Opera puoi ascoltare l'articolo grazie al servizio TTS di ResponsiveVoice.
Basta selezonare la porzione di testo che vuoi ascoltare.


Aggiornare il contenuto della pagina Web in base ai parametri URL

Di Redazione
2024-07-19 22:07:24

Oggi voglio condividere con voi un interessante esempio di come aggiornare dinamicamente il contenuto di una pagina web in base ai parametri presenti nell'URL. Utilizzeremo JavaScript per gestire questa funzionalità in modo semplice ed efficace.
Immaginate di avere una pagina web che visualizza diversi prodotti in base alla categoria selezionata dall'utente; utilizzando i parametri presenti nell'URL, possiamo facilmente mostrare elementi diversi in base alla scelta.

Vediamo un esempio di codice reale:

<select id="categoria" onchange="cambiaCategoria()">
<option value="">Seleziona una categoria</option>
<option value="elettronica">Elettronica</option>
<option value="abbigliamento">Abbigliamento</option>
<option value="giocattoli">Giocattoli</option>
</select>

<h2>Prodotti</h2>
<div id="prodotti"></div>

<script src="script.js"></script>

A questo codice corrisponderà un insieme di istruzioni javascript:

document.addEventListener("DOMContentLoaded", () => {
const params = new URLSearchParams(window.location.search);
const categoriaSelezionata = params.get('categoria');
if (categoriaSelezionata) {
document.getElementById('categoria').value = categoriaSelezionata;
mostraProdotti(categoriaSelezionata);
}
});

function cambiaCategoria() {
const categoria = document.getElementById('categoria').value;
// Aggiorniamo l'URL con la nuova categoria selezionata
const nuovaUrl = window.location.origin + window.location.pathname + 
'?categoria=' + encodeURIComponent(categoria);
window.history.pushState({}, '', nuovaUrl);
mostraProdotti(categoria);
}

function mostraProdotti(categoria) {
const prodottiDiv = document.getElementById('prodotti');
prodottiDiv.innerHTML = ''; // Pulisci i prodotti visualizzati

const prodotti = {
elettronica: ['Smartphone', 'Televisore', 'Cuffie'],
abbigliamento: ['Maglietta', 'Jeans', 'Giacca'],
giocattoli: ['Robot', 'Puzzle', 'Macchinina']
};

const prodottiDaMostrare = prodotti[categoria] || [];
if (prodottiDaMostrare.length === 0) {
prodottiDiv.innerHTML = '<p>Nessun prodotto per questa categoria.</p>';
} else {
prodottiDaMostrare.forEach(prodotto => {
const prodottoElement = document.createElement('div');
prodottoElement.textContent = prodotto;
prodottiDiv.appendChild(prodottoElement);
});
}
}

Per fare ciò, abbiamo utilizzato il metodo URLSearchParams per ottenere i parametri presenti nell'URL e quindi utilizzare questi parametri per filtrare e visualizzare i contenuti desiderati. In questo modo, l'utente potrà selezionare una categoria specifica e vedere immediatamente i prodotti corrispondenti senza alcuna interruzione. Il costrutto window.history.pushState infatti si assicura che la pagina non venga ricaricata.

Ecco come potrebbero apparire gli URL in base alle selezioni dell'utente:

  • Se l'utente seleziona "Elettronica": https://esempio.com/?categoria=elettronica
  • Se passa a "Abbigliamento": https://esempio.com/?categoria=abbigliamento

Questo esempio dimostra come JavaScript possa essere utilizzato in modo creativo per migliorare l'esperienza dell'utente sul web. Spero che questo vi ispiri a sperimentare con nuove funzionalità e a creare pagine web sempre più interattive e dinamiche. Buon coding!


Tags: URL, javascript, articoli, parametri, web development, URLSearchParams

Like ricevuti: 72 - Letture riconosciute: 78

Condividi su Facebook // Dai un like // Assegna una lettura


Precedente - Torna alla lista - Successivo