为了账号安全,请及时绑定邮箱和手机立即绑定

GitHub Pages 网站中有没有办法在会话之间存储文本框的内容?

GitHub Pages 网站中有没有办法在会话之间存储文本框的内容?

www说 2023-09-18 15:30:56
我想做的是,当有人导航到我的网站时,它会询问他们的名字或只是有一个通用名称并说“不是你,请单击此处”。之后,角落里会显示“欢迎回来,[名字]”。然而,这是一个 GitHub Pages 网站,所以我不确定这是否可行,并且只需省略名称即可。它确实可以简单地对名称进行硬编码或根本没有名称,但是如果没有某种数据库或存储和检索凭据的能力,我不知道如何实现这一点。我目前在网页上拥有的只是<p style="text-align:right; color:gray"><i>Welcome back.</i></p>.我在谷歌上找不到与我的问题类似的东西,除了那些不太能说明我要去的地方的关键词之外,我不确定如何措辞。我不相信网站可以在没有某种 cookie 的情况下写入用户的系统,但我不太了解如何使用它们存储数据。我猜我需要利用 HTML5 window.LocalStorage,但我不知道如何实现它。本质上,有没有一种方法可以将某人的姓名存储在 cookie、网站缓存或服务器端以外的其他位置,据我所知 GitHub Pages 是只读的。
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

正如评论中所指出的,本地存储(或 cookie)是在没有自己的服务器或某些外部服务的情况下完成您想要的操作的唯一方法。


这绝不是一个永久的存储解决方案,您无法控制用户如何管理其本地存储,但这里有一个最小的示例,您可以将其放入 HTML 文件中并在浏览器中打开以进行测试。


<input id="local-input" onkeydown="store(this)">


<script>

    // keep the contents of the input in local storage, called by input onkeydown

    function store(e) {

        localStorage.setItem('local', e.value)

    }


    // if previous storage exists, use it

    if(localStorage.getItem('local') !== null) {

        document.getElementById('local-input').value = localStorage.getItem('local')

    }

</script>

本地存储非常容易使用。


查看完整回答
反对 回复 2023-09-18
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信