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.