2016-05-04 7 views
-1

Ich habe einige Javascript, die ich benutze, um eine Textdatei zu schreiben, wenn der Benutzer die Seite verlässt. Hier ist die Funktion:Gibt es eine Möglichkeit, eine Textdatei zu schreiben und sie durch die vorherige ersetzen zu lassen?

function handleBrowserCloseButton() { 

get_text(); 

var textToWrite = array; 
var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'}); 
var fileNameToSaveAs = "windows.txt" 

var downloadLink = document.createElement("a"); 
downloadLink.download = fileNameToSaveAs; 
downloadLink.innerHTML = "Download File"; 
downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob); 
downloadLink.click(); 
} 

Das funktioniert gut. Das einzige Problem ist der Name der Datei ist konstant - "windows.txt". Das bedeutet, dass jedes Mal, wenn der Benutzer die Seite verlässt, die geschriebene Datei "windows (n) .txt" ist, wobei n jedes Mal um eins erhöht wird.

Gibt es eine Möglichkeit, Javascript zu haben, um die Datei "windows.txt" zu ersetzen, anstatt jedes Mal eine neue Datei zu erstellen?

+0

Wie speichern Sie es? –

+0

Aus Sicherheitsgründen können Sie das nicht tun. – SLaks

+0

könnte ich die vorherige Version zuerst löschen, um das gewünschte Ergebnis zu erzielen? – Rob

Antwort

0

Nein, wenn Sie das JavaScript des Browsers verwenden, können Sie die vorhandenen Dateien auf Ihrem lokalen Computer aus Sicherheitsgründen nicht ändern.

Sie können jedoch versuchen, localStorage zu verwenden, wenn die Datei nicht zu groß ist.

// Store 
localStorage.setItem("key", "value"); 

// Retrieve 
localStorage.getItem("key"); 

über die Größe localStorage: What is the max size of localStorage values?

Die Schlüssel-Wert-Paare in local in Browsern gespeichert werden und zu den Implementierungen des einzelnen Browser nach.

0

Basierend auf dem hilfreichen Kommentar von Patrick Evans wechselte ich vom Versuch, eine lokale Textdatei zu schreiben, um die Daten in localStorage zu speichern.

Verwandte Themen