Cómo crear un botón para descargar archivos al clicar

  • Autor Autor Flamie
  • Fecha de inicio Fecha de inicio
Flamie

Flamie

VIP
Beta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Suscripción a IA
Buenos dias foro espero que esten bien, llevo casi una semana tanto buscando en el foro,google y youtube pero no encuentro una respuesta a esto, me explico quisiera crear una pagina con un boton de descarga con "distintas entradas" y "distintos archivos de descarga" ahora bien mi idea es que cuando se le de clic al boton este te redireccione a otra pagina donde iniciaria la descarga anexo imagen asi entienden la idea, esta pagina tendra contador e informacion pero lo mas importante al terminar el contador iniciaria la descarga. He visto muchas webs antiguas de descarga que hacen esto como softsonic, si alguien tiene una idea o si conoce algun tutorial o forma en que pueda hacerlo de verdad se lo agradeceria bastante, ademas de si pudiesen decirme de que tan posible es hacer esto, un saludo.
 

Adjuntos

  • 1.webp
    1.webp
    6,1 KB · Visitas: 23
  • 2.webp
    2.webp
    6,1 KB · Visitas: 21
El link de descarga principal lo genera wordpress?

o al crear la entrada/post tu se la pones?
por ejemplo
link:
<a href="xxx.html" target="_blank">Descargar</a>
 
El link de descarga principal lo genera wordpress?

o al crear la entrada/post tu se la pones?
por ejemplo
link:
<a href="xxx.html" target="_blank">Descargar</a>
Lo ideal seria poder colocar el enlace manualmente del archivo dentro del boton ejemplo <a href="midominio.com/descargar-blabla.html" target="_blank">Descargar</a> , en resumen al crear la nueva entrada tendria que agregar el boton manualmente cada vez y este estaria con enlace vacio, esto me permitiria que por si alguna razon quisiera cambiar un archivo de descarga por otro solo necesitaria reemplazar el enlace
 
al archivo descargar-blabla.html
es el que llevaria todo
por ejemplo asi

tu descarga esta por comenzar
#aquí se veria los segundos
#anuncios
#después abriria lo oculto...

<div class="oculto">
<a href="linkArchivo.zip">Descargar</a>
</div>
#redes sociales
#anuncios

# aquí script abrir a los .6 seg
---

y ya hecho lo subes y lo pones en tu link


¿asi ?
 
al archivo descargar-blabla.html
es el que llevaria todo
por ejemplo asi

tu descarga esta por comenzar
#aquí se veria los segundos
#anuncios
#después abriria lo oculto...

<div class="oculto">
<a href="linkArchivo.zip">Descargar</a>
</div>
#redes sociales
#anuncios

# aquí script abrir a los .6 seg
---

y ya hecho lo subes y lo pones en tu link


¿asi ?
similar pero, supongamos que en vez de subir un archivo .html crearia una pagina que supongamos es sobre un libro arriba estaria la informacion y imagen del libro luego fichat tecnica etc y abajo un boton que dice "Descargar" al precionar ese boton en vez de que se descargue el archivo del libro suponemos que un "pdf" directamente al dar clic al boton serias redirigido a un temporalizador que al finalizar descargaria el archivo que previamente subi al servidor el "pdf" aunque subir pagina por pagina con .html podria ser una buena opcion creo que hacerlo con paginas en wordpress podria ser mejor aunque se tenga que agregar funciones php y javascript
 
1 creas un archivo descargar-blabla.html

2. creas un <div> principal por ejemplo contx...
<div class="contx">
...
</div>

3. dentro creas lo siguiente

1 div anuncios
1 el "Tu descarga está por comenzar"
1 div contador
1 div "oculto"
1 div "redes-sociales"
1 div "anuncios"

4. ...
<div class="contx">
<div class="anuncios">Anuncios</div>
<p>Tu descarga está por comenzar en:</p>
<div id="contador">6</div>
<div class="oculto" id="descarga">
...
</div>
<div class="redes-sociales">Redes Sociales</div>
<div class="anuncios">Más Anuncios</div>
</div>

5. dentro de <div> "oculto" iria tu link pdf y le ponemos a la class display none

<div class="oculto" id="descarga">
<a href="linkArchivo.pdf">Descargar</a>
</div>

.oculto {
display: none;
}

6. al div contex le ponemos width y margin 0 auto
.contx{
width: 600px;
margin: 0 auto;
}

7. ponemos el script que cuente los seg y le quite el display none al div class "oculto"...

<script>
let segundos = 5; // segundos a Esperar
const contador = document.getElementById('contador');
const descarga = document.getElementById('descarga');
function mostrarContador() {
contador.textContent = segundos;
segundos--;
if (segundos < 0) {
clearInterval(intervalo);
contador.style.display = 'none';
descarga.style.display = 'block';
}
}
const intervalo = setInterval(mostrarContador, 1000);
</script>

8. previo ...

2023-09-19.04-28-31.jpg

8.1. previo después de los segundos...

2023-09-19.04-29-02.jpg

9. en resumen tu archivo descargar-blabla.html, solo le faltaria ponerle mas diseño/css y ponerle contenido a los <div> anuncios y redes, etc

HTML:
<html>
<head>
<title>Tu Descarga</title>
<style>
.contx{
  width: 600px;
  margin: 0 auto;
}
.oculto {
  display: none;
}
</style>
</head>
<body>
<div class="contx">
  <div class="anuncios">Anuncios</div>
  <p>Tu descarga está por comenzar en:</p>
  <div id="contador">6</div>
  <div class="oculto" id="descarga">
    <a href="linkArchivo.pdf">Descargar</a>
  </div>
  <div class="redes-sociales">Redes Sociales</div>
  <div class="anuncios">Más Anuncios</div>
</div>
<script>
let segundos = 5; // segundos a Esperar
const contador = document.getElementById('contador');
const descarga = document.getElementById('descarga');
function mostrarContador() {
contador.textContent = segundos;
segundos--;
if (segundos < 0) {
clearInterval(intervalo);
contador.style.display = 'none';
descarga.style.display = 'block';
}
}
const intervalo = setInterval(mostrarContador, 1000);
</script>
</body>
</html>
 
Última edición:
1 creas un archivo descargar-blabla.html

2. creas un <div> principal por ejemplo contx...
<div class="contx">
...
</div>

3. dentro creas lo siguiente

1 div anuncios
el "Tu descarga está por comenzar"
1 div contador
1 div "oculto"
1 div "redes-sociales"
1 div "anuncios"

4. ...
<div class="contx">
<div class="anuncios">Anuncios</div>
<p>Tu descarga está por comenzar en:</p>
<div id="contador">6</div>
<div class="oculto" id="descarga">
...
</div>
<div class="redes-sociales">Redes Sociales</div>
<div class="anuncios">Más Anuncios</div>
</div>

5. dentro de <div> "oculto" iria tu link pdf y le ponemos a la class display none

<div class="oculto" id="descarga">
<a href="linkArchivo.pdf">Descargar</a>
</div>

.oculto {
display: none;
}

6. al div contex le ponemos width y margin 0 auto
.contx{
width: 600px;
margin: 0 auto;
}
7. ponemos el script que cuente 6 seg y le quite el display none al div class "oculto"
<script>
let segundos = 5; // segundos a Esperar
const contador = document.getElementById('contador');
const descarga = document.getElementById('descarga');
function mostrarContador() {
contador.textContent = segundos;
segundos--;
if (segundos < 0) {
clearInterval(intervalo);
contador.style.display = 'none';
descarga.style.display = 'block';
}
}
const intervalo = setInterval(mostrarContador, 1000);
</script>
7. previo ...
Ver el archivo adjunto 1098256
8. previo después de los segundos...
Ver el archivo adjunto 1098257
9. en resumen tu archivo descargar-blabla.html, solo le faltaria ponerle mas diseño/css y ponerle contenido a los <div> anuncios y redes, etc
HTML:
<html>
<head>
<title>Tu Descarga</title>
<style>
.contx{
  width: 600px;
  margin: 0 auto;
}
.oculto {
  display: none;
}
</style>
</head>
<body>
<div class="contx">
  <div class="anuncios">Anuncios</div>
  <p>Tu descarga está por comenzar en:</p>
  <div id="contador">6</div>
  <div class="oculto" id="descarga">
    <a href="linkArchivo.pdf">Descargar</a>
  </div>
  <div class="redes-sociales">Redes Sociales</div>
  <div class="anuncios">Más Anuncios</div>
</div>
<script>
let segundos = 5; // segundos a Esperar
const contador = document.getElementById('contador');
const descarga = document.getElementById('descarga');
function mostrarContador() {
contador.textContent = segundos;
segundos--;
if (segundos < 0) {
clearInterval(intervalo);
contador.style.display = 'none';
descarga.style.display = 'block';
}
}
const intervalo = setInterval(mostrarContador, 1000);
</script>
</div>
</body>
</html>
Mil gracias voy a probar para luego ir añadiendole diseños
 
Ya en tu pagina pondrias

titulo
contenido
<div class="botonx">
<a href="midominio.com/descargar-blabla.html" target="_blank">Descargar</a>
</div>
etc

y a <a> que es el link/boton
le puedes agregar css

.botonx a {
padding: 6px 10px;
background: #00B0EF;
text-decoration: none;
color: white;
font-size: 16px;
border-radius: 6px;
}

previo...

2023-09-19.04-50-30.webp
 
Atrás
Arriba