2017-05-25 64 views
0

完成 - 编辑一旦JavaScript的:像柜台与记忆

我期待创造一个像反持续性内存

现在,我的项目存储在USB驱动器上,而且我还没有考虑将我的半成品网站上传到互联网。我背着它,堵塞和工作。
该网站的一个功能,是心计数器像计数器,分别与他们的符号图标。
我有一个小副本JavaScript文件,有十几个函数来处理点击事件等 - 如计数器的数量计数。

但是,随着计数器的值是自动分配给临时内存 - 如果你重新载入页面 - 柜台数量将恢复到它的默认,零。一个巨大的头痛...

从.txt

我想用实验ReadFile()对象来处理这个问题的解读 - 但我很快就发现,它需要用户把文件(从我的考试)工作。
这里是我的尝试:

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

加载时,该页面通过规范操作运行,除了上述。
这,在我看来,将是理想的解决方案...

预防来自Cookies读

饼干现在看起来像一个选项不因为它驻留在每台计算机上。
它们存储在计算机上的SSD,而不是在JavaScript文件...悲伤...

HTML5 Web存储

使用新的Web存储将是很大的帮助,大概。但同样,它是在每台计算机上,无论多么美丽的系统...

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驱动器结转...

总结的想法

目前,我期待阅读和编辑文件,因为它对我的情况最为理想。但是...
你会用哪一种?你会介绍一种新的方法吗?
请告诉我吧! :)

+0

这是一个小型的网络应用程序,你需要坚持一些计数器值吗?你想要在用户之间分享价值吗? – Ben

+0

词太多。你为什么要把它存储在一个文件中?或者更准确地说,为什么你要将它存储在一个文件中,而不是使用浏览器的持久性机制? –

+2

请将您的问题写在最少的文字上,以解决您的问题。看起来您正在询问一个非常广泛的,可能是基于观点的问题:“什么是保存数据的好方法”。 –

回答

0
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或文本文件。

+0

鉴于你是唯一愿意回答的人(谢谢你),我会使用你的解决方案。它可能会或可能不会在我的项目中找到位置 - 但我会找到一种方法来合并它。再次感谢! – ghostwalker13

+0

欢迎您! – JoeBlow