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 或文本文件。
完成 - 编辑一次
我想创建一个 点赞计数器 并具有持久的 内存 !
现在,我的项目存储在 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 或文本文件。