如何在网站加载时显示Javascript提示?

如何在网站加载时显示Javascript提示?,javascript,html,css,Javascript,Html,Css,我有一个javascript提示,当我第一次打开我的网站时会执行。此提示的基本功能是询问用户的姓名,然后将其插入标题,即Hello,‘user’!我的网站上有多个页面,每当我导航到另一个页面,然后导航回主页时,会再次显示提示,一遍又一遍地向用户询问相同的问题。有没有办法在第一次加载网站时只显示一次提示,然后将用户名保留在变量中,直到他们关闭网站 以下是我的javascript: 函数askName{ 让username=prompt为使您在本网站上的时间更愉快,请输入您的姓名。; 如果用户名!=

我有一个javascript提示,当我第一次打开我的网站时会执行。此提示的基本功能是询问用户的姓名,然后将其插入标题,即Hello,‘user’!我的网站上有多个页面,每当我导航到另一个页面,然后导航回主页时,会再次显示提示,一遍又一遍地向用户询问相同的问题。有没有办法在第一次加载网站时只显示一次提示,然后将用户名保留在变量中,直到他们关闭网站

以下是我的javascript:

函数askName{ 让username=prompt为使您在本网站上的时间更愉快,请输入您的姓名。; 如果用户名!=null{ document.getElementByIduserpara.innerHTML=Hello,+username; }否则{ document.getElementByIdnoUser.innerHTML=欢迎,陌生人!; } } 这是我的Html:

为了在页面加载时执行函数,我在html的body标记中使用了onload函数,如下所示:

...
请随时更正我的任何代码,因为我还在学习:

有多种方法可以在客户端的web浏览器上持久存储信息:

将信息发送到web服务器。 用于少量数据 可能不方便使用,通常需要一些解析。 数据可以在关闭web浏览器时保留,也可以在关闭时使用自动删除。 / 信息保留在客户端,不会自动发送到web服务器 容易相处 通常与少量数据一起使用 会话存储数据在关闭浏览器时被删除,而本地存储数据保持不变 打开新选项卡或窗口时会创建会话存储数据的新实例,因此其他选项卡/窗口无法访问相同的会话存储数据 信息保留在客户端,不会自动发送到web服务器 允许存储大量数据 异步工作 使用复杂 关闭浏览器后,数据仍然存在 可能最简单的方法是使用:


请注意,在关闭浏览器时,信息不会被清除,这可能是最接近于此的操作,但它与使用cookie有关。或者,如果您不需要其他选项卡/窗口访问相同的数据,您也可以使用会话存储。

有多种方法可以在客户端的web浏览器上持久存储信息:

将信息发送到web服务器。 用于少量数据 可能不方便使用,通常需要一些解析。 数据可以在关闭web浏览器时保留,也可以在关闭时使用自动删除。 / 信息保留在客户端,不会自动发送到web服务器 容易相处 通常与少量数据一起使用 会话存储数据在关闭浏览器时被删除,而本地存储数据保持不变 打开新选项卡或窗口时会创建会话存储数据的新实例,因此其他选项卡/窗口无法访问相同的会话存储数据 信息保留在客户端,不会自动发送到web服务器 允许存储大量数据 异步工作 使用复杂 关闭浏览器后,数据仍然存在 可能最简单的方法是使用:


请注意,在关闭浏览器时,信息不会被清除,这可能是最接近于此的操作,但它与使用cookie有关。或者,如果不需要其他选项卡/窗口访问相同的数据,您也可以使用会话存储。

将值保存到localStorage,并在下次检查localStorage中是否有值

function askName() { 
var user=localStorage.getItem('Username');
if(user){
document.getElementById("userpara").innerHTML = "Hello, " + user; 
}
else{
let username = prompt("To make your time on this website better, please enter your name."); if (username != null) { 
user=localStorage.setItem('Username', username)
document.getElementById("userpara").innerHTML = "Hello, " + username; 
} else { 
document.getElementById("noUser").innerHTML = "Welcome, Stranger!"; 
}} }

将该值保存到localStorage,并在下次检查localStorage中是否存在该值

function askName() { 
var user=localStorage.getItem('Username');
if(user){
document.getElementById("userpara").innerHTML = "Hello, " + user; 
}
else{
let username = prompt("To make your time on this website better, please enter your name."); if (username != null) { 
user=localStorage.setItem('Username', username)
document.getElementById("userpara").innerHTML = "Hello, " + username; 
} else { 
document.getElementById("noUser").innerHTML = "Welcome, Stranger!"; 
}} }
尝试使用:

sessionStorage与localStorage的不同之处在于,每当您关闭窗口/选项卡时,就会擦除sessionStorage,这正是您所需要的。localStorage将一直保留,直到用户清除缓存或您通过脚本删除数据。

尝试使用:


sessionStorage与localStorage的不同之处在于,每当您关闭窗口/选项卡时,就会擦除sessionStorage,这正是您所需要的。localStorage将一直保留,直到用户清除缓存或您通过脚本删除数据。

完全按照我的要求工作。非常感谢!工作完全符合我的要求。非常感谢!
function askName() {
    let username = sessionStorage.getItem('username');

    if (username === null) {
        username = prompt("To make your time on this website better, please enter your name.");
    }

    if (username != null) {
        document.getElementById("userpara").innerHTML = "Hello, " + username;
        sessionStorage.setItem('username', username);
    } else {
        document.getElementById("noUser").innerHTML = "Welcome, Stranger!";
    }
}