Javascript 通过首先从HTML页面的值创建文本文件来追加/编辑文本文件

Javascript 通过首先从HTML页面的值创建文本文件来追加/编辑文本文件,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一些值是通过html页面上的硬件通过套接字调用来自json的,现在这些值在3秒的时间内不断变化。 我想创建一个文本文件,它可以将值附加到这些不断变化的值中,而不是替换它们。 我所做的是调用change event上的一个函数,它在每次触发更改事件时创建一个新的文本文件。我希望它创建一个文件并在其中附加值,现在发生的是每次值更改时创建一个新文件。 我的代码如下: saveTextAsFile:function(d) { console.log("data sent is",d);

我有一些值是通过html页面上的硬件通过套接字调用来自json的,现在这些值在3秒的时间内不断变化。 我想创建一个文本文件,它可以将值附加到这些不断变化的值中,而不是替换它们。 我所做的是调用change event上的一个函数,它在每次触发更改事件时创建一个新的文本文件。我希望它创建一个文件并在其中附加值,现在发生的是每次值更改时创建一个新文件。 我的代码如下:

saveTextAsFile:function(d)
{
    console.log("data sent is",d);
    var textToWrite = d;
    var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
    var fileNameToSaveAs = "testdata.txt";
    var downloadLink = document.createElement("a");
    downloadLink.download = fileNameToSaveAs;
    downloadLink.innerHTML = "Download File";
    if (window.webkitURL != null)
    {
        // Chrome allows the link to be clicked
        // without actually adding it to the DOM.
        downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
    }
    else
    {
        // Firefox requires the link to be added to the DOM
        // before it can be clicked.
        downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
        downloadLink.onclick = destroyClickedElement;
        downloadLink.style.display = "none";
        document.body.appendChild(downloadLink);
    }

    downloadLink.click();
},

 destroyClickedElement: function(event)
{
    document.body.removeChild(event.target);
}

因为变量textFileAsBlob是Blob对象,所以无法更改它

Blob对象表示不可变原始数据的类似文件的对象。


因此,在创建文件之前,您应该使用Javascript完成所有连接工作,或者您应该在服务器端对文件进行操作

这不符合我的目的。我的页面在几分钟不活动后崩溃。它显示Aw snap错误,我必须重新加载页面。我试图记录浏览器崩溃后的计数器,因此我尝试将该计数器写入文本文件,因此,当浏览器崩溃时,我们必须在页面崩溃时重新加载该页面,以便计数器设置为0,然后,我们可以在崩溃多少时间后知道计数器。有没有比我尝试执行的操作更好的解决方案?取决于您尝试保存的数据有多大,计数器可能很小,您可能希望尝试保存到本地存储。console.log通常是调试的最佳工具。。。写入要调试的文件将非常耗时,并且可能无法提供所需的所有信息。尝试保存到本地存储对象,该对象在应用程序运行时生成唯一的基于日期时间的密钥