Foros del Web » Programando para Internet » Javascript »

Descargar pagina web automaticamente con onload

Estas en el tema de Descargar pagina web automaticamente con onload en el foro de Javascript en Foros del Web. Hola a todos, estoy haciendo una web muy sencilla, sin imágenes ni nada, para mi uso personal donde se presentan unos datos actualizados desde varios ...
  #1 (permalink)  
Antiguo 25/09/2019, 07:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 0
Descargar pagina web automaticamente con onload

Hola a todos, estoy haciendo una web muy sencilla, sin imágenes ni nada, para mi uso personal donde se presentan unos datos actualizados desde varios widgets y quiero poder descargar esa pagina en html, txt, xls o csv a mi PC, cada cierto tiempo, sin necesidad que el navegador me pida permiso.
No hay problemas de seguridad, pues aparte de los widgets, la pagina está en mi PC.
Navegando por ahi consegui estos códigos pero no hacen lo que quiero:

Código HTML:
<HTML>
<HEAD>
<script LANGUAGE="JavaScript">
function download(text, name, type) { //Define la funcion download que tiene 3 parametros
  var a = document.getElementById("a"); //La variable a obtendrá su valor del objeto documento por el método getElementById con el valor del atributo id="a"
  var file = new Blob([text], {type: type}); // El comando new asignará a la variable file una instancia, o valor por defecto
  a.href = URL.createObjectURL(file); // ??
  a.download = name;                  //??
}
</script>
</HEAD>

<BODY>
<a href="" id="a">click here to download your file</a> <!--Crea un link con anchor <a href> con el valor del atributo id="a" -->
<button onclick="download('file text', 'myfilename.txt', 'text/plain')">Create file</button>        

</BODY>
</HTML> 
Este código lo haria, pero me obliga a que haga click en el boton, y yo quiero que lo haga automaticamente sin pedirme confirmacion, ni mucho menos tipo de archivo, nombre o ubicacion. Si no es posible que por lo menos me abra la ventana de descarga del navegador con onload.

Código HTML:
<!DOCTYPE html>
<html>
<head>
    <title>JS CSV</title>
</head>
<body>
    <button id="b">export to CSV</button>
    <script type="text/javascript">
        function exportToCsv() {
            var myCsv = "Col1,Col2,Col3\nval1,val2,val3";

            window.open('data:text/csv;charset=utf-8,' + escape(myCsv));
        }

        var button = document.getElementById('b');
        button.addEventListener('click', exportToCsv);
    </script>
</body> 
Este otro código hace algo, pero aparte de que me obliga a que haga click en el boton, me descarga esto "Col1,Col2,Col3\nval1,val2,val3" y yo quiero que me descargue la pagina, obviamente que con el valor que tengan esos widgets en el momento. De paso, siempre guarda el .csv con un nombre distinto y no me gustaria que eso pase.

Muchas gracias a todos por sus comentarios y pacientes explicaciones, estoy comenzando con Javascript y quiero aprender.

Última edición por abeh; 25/09/2019 a las 07:26
  #2 (permalink)  
Antiguo 25/09/2019, 09:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.974
Antigüedad: 11 años, 3 meses
Puntos: 2190
Respuesta: Descargar pagina web automaticamente con onload

Con Javascript no es posible, por cuestiones de seguridad el navegador no te va a permitir descargar automáticamente la página, no hay forma de evitar la ventana de diálogo para guardar el archivo.

Instala WAMP (o similar) en tu computadora, crea un script PHP que descargue la página usando cURL y agrégalo como tarea programada.

Nota: Si los widgets que mencionas obtienen contenido por Javascript entonces va a ser mucho más complicado.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 25/09/2019, 10:12
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.565
Antigüedad: 11 años, 9 meses
Puntos: 1087
Respuesta: Descargar pagina web automaticamente con onload

Como ya te dijeron si es una web va estar pelon que se pueda por seguirdad... complementando lo que te dijo el compañero Triby

Si la pagina obtiene el contenido vía javascript... la recomendación seria migra a NodeJS y utiliza el componente filesystem., es muy fácil de usar



La zona horaria es GMT -6. Ahora son las 21:48.