
Originariamente inviata da
KillerWorm
Penso di sì; puoi verificare tu stesso su
caniuse.com
Personalmente non ne conosco nessuna in particolare ma basterebbe qualche ricerca per trovare degli snippet da riutilizzare.
Qui un semplice esempio dove attraverso qualche campo di testo è possibile inserire il nome del file e il contenuto da salvare.
Cliccando sul pulsante "Salva" verrà eseguito il download del file creato al volo:
codice:
<!DOCTYPE HTML>
<html lang="it">
<head>
<title>Esempio</title>
<meta charset="utf-8">
</head>
<body>
<label>Nome File: <input id="inp-nome-file"></label>
<hr>
<label>Testo: <br><textarea id="txt-contenuto"></textarea></label>
<hr>
<input id="btn-salva" type="button" value="Salva">
<script>
function salvaFileTesto(nomeFile, contenuto) {
var file = new Blob(['\ufeff' + contenuto], { type: 'text/plain;charset=utf-8' });
if (window.navigator.msSaveOrOpenBlob) // IE10+
window.navigator.msSaveOrOpenBlob(file, filename);
else {
var a = document.createElement('a'),
url = URL.createObjectURL(file);
a.href = url;
a.download = nomeFile;
document.body.appendChild(a);
a.click();
setTimeout(function() {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
}
}
document.getElementById('btn-salva').onclick = function(){
salvaFileTesto(
document.getElementById('inp-nome-file').value
,document.getElementById('txt-contenuto').value
)
}
</script>
</body>
</html>