JavaScript: 记忆点赞

JavaScript: Like-Counter with Memory

完成 - 编辑一次

我想创建一个 点赞计数器 并具有持久的 内存 !

现在,我的项目存储在 USB 驱动器上,我还没有考虑将我的半成品网站上传到 Internet。我随身携带,插电工作。
该网站的一个特色是 心计数器 点赞计数器 ,分别带有它们的符号图标。
我有一个小副业 JavaScript 文件,它有十几个函数来处理点击事件等 - 例如计数器的计数。

但是,由于计数器的值是自动分配临时内存 - 如果您要重新加载页面 -计数器编号将重置为默认值,零。好头疼...

正在从 .txt 读取

我想使用实验性 ReadFile() 对象来处理这个问题 - 但我很快发现它需要一个用户放置的文件来操作(根据我的检查)。
这是我的尝试:

if (heartCount || likeCount >= 1) {
    var reader = new FileReader();
    var readerResults = reader.readAsText(heartsAndLikes.txt);
    //return readerResults
    alert(readerResults);
}

加载后,页面将执行标准操作,上述操作除外。
在我看来,这将是理想的解决方案...

从 Cookie 中读取

Cookie 现在似乎不再是一种选择,因为它驻留在每台计算机上。
它们存储在计算机的 SSD 上,而不是 JavaScript 文件中...悲伤...

HTML5 网络存储

使用新的网络存储可能会有很大帮助。但同样,它是基于每台计算机的,无论系统多么漂亮...

localStorage.heartCount = 0 //Originally...
function heartButtonClicked() {
    if (localStorage.heartCount) {
        localStorage.heartCount = Number(localStorage.heartCount) + 1
    }
    document.getElementById('heartCountDisplay').innerHTML = localStorage.heartCount
} //Function is tied to the heartCountButton directly via the 'onclick' method

但是,我想知道网络存储是否可以在 USB 驱动器上进行...

总结思路

目前,我正在寻找阅读和编辑文件,因为它最适合我的情况。但是...
你会用哪个?你会介绍一种新的方法吗?
请告诉我吧! :)

if (typeof(Storage) !== "undefined") { //make sure local storage is available   

if (!localStorage.heartCount) { //if heartCount is not set then set it to zero
localStorage.heartCount = 0;
}

} else {
alert('Local storage is not available');
}

function heartButtonClicked() {

if (localStorage.heartCount) { //if heartCount exists then increment it by one
    localStorage.heartCount++;
}

//display the result
document.getElementById('heartCountDisplay').innerHTML = localStorage.heartCount 
}

这仅适用于每台计算机,不会保留在您的拇指驱动器上。我能想到的将数据保存在驱动器上的唯一方法是手动下载 JSON 或文本文件。