Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

84
Views
Almacenamiento de nombre de clase en HTML localStorage

Estoy tratando de usar un selector de temas que agrega un nombre de clase "oscuro" al elemento HTML.

como: <html class="dark">

Quiero guardar el nombre de la clase en localStorage para que sea coherente incluso después de recargar la página.

Aquí está mi JS

 (function () { window.__onThemeChange = function () { }; function setTheme(newTheme) { window.__theme = newTheme; preferredTheme = newTheme; document.documentElement.setAttribute('class', newTheme); window.__onThemeChange(newTheme); } var preferredTheme; try { preferredTheme = localStorage.getItem('theme'); } catch (err) { } window.__setPreferredTheme = function (newTheme) { setTheme(newTheme); try { localStorage.setItem('theme', newTheme); } catch (err) { } } var darkQuery = window.matchMedia('(prefers-color-scheme: light)'); darkQuery.addListener(function (e) { window.__setPreferredTheme(e.matches ? 'light' : 'dark'); }); setTheme(preferredTheme || (darkQuery.matches ? 'light' : 'dark')); })();

¿Alguna idea de cómo guardar correctamente la class="dark" en localStorage?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Lo que estoy viendo aquí es que en la función __setPreferredTheme estás encadenando un valor 'claro' u 'oscuro' y luego analizando este valor en la variable preferedTheme, lo que provoca un error porque estás analizando una cadena. Debería poder simplemente pasar el valor de la clase en la función sin usar parse o stringify.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!