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

116
Views
Función de JavaScript sobre el almacenamiento local

Tengo una interfaz de usuario con 4 navegación: Home , Page 1 , Page 2 , Page 3

 <ul class="nav nav-pills mt-3 mb-5 ml-5"> <li class="nav-item"> <a class="nav-link active" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" onclick="visitLink('Page1')" href="page_1.html">Page 1</a> </li> <li class="nav-item"> <a class="nav-link" onclick="visitLink('Page2')" href="page_2.html">Page 2</a> </li> <li class="nav-item"> <a class="nav-link" onclick="visitLink('Page3')" href="page_3.html">Page 3</a> </li> </ul> <button type="button" onclick="viewResults()" class="btn btn-primary btn-lg btn-block mb-5"> View page visits results </button>

Y una función que aumenta las veces que hacemos clic 3 navegaciones Página 1, Página 2, Página 3 separadas (yo uso la ruta es una clave, y las veces es un valor):

 function visitLink(path) { if (localStorage.getItem(path) === null) { // Store localStorage.setItem(path, "0"); } localStorage.setItem(path, parseInt(localStorage.getItem(path)) + 1); return localStorage.getItem(path); }

La función para mostrar el resultado de cada clic en cada página (no está completa, usé esto para depurar):

 function viewResults() { alert("You visited Page time(s) " + visitLink('Page1')) }

Pero cuando vi el resultado, aumentó el resultado en 2, no en 1 si hago clic en el botón Inicio (cuenta como 1 vez de hacer clic) para volver a ver el resultado. ¿Cómo puedo arreglar eso?

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

0

El resultado es dos porque está llamando a visitLink para recuperar el conteo, lo que también incrementa el conteo.

Dado que debe implementar la tarea con dos funciones , sugeriría agregar otro parámetro a la función visitLink que indique si se debe incrementar el conteo:

 function visitLink(path, readonly) { if (localStorage.getItem(path) === null) { localStorage.setItem(path, "0"); } if(!readonly){ localStorage.setItem(path, parseInt(localStorage.getItem(path)) + 1); } return localStorage.getItem(path); } function viewResults() { alert("You visited Page time(s) " + visitLink('Page1', true)) }
about 4 years ago · Juan Pablo Isaza Report

0

Estás llamando a la función que aumenta el contador aquí alert("You visited Page time(s) " + visitLink('Page1')) , cuando llamas a visitLink('Page1') el resultado pero también lo incrementas

Esto debería solucionarlo, aunque recomendaría una función getResult

 alert("You visited Page time(s) " + localStorage.getItem('Page1'))
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!