JavaScript在整个站点中持久化搜索查询
我当前正在获取一个查询(例如,JavaScript在整个站点中持久化搜索查询,javascript,html,local-storage,Javascript,Html,Local Storage,我当前正在获取一个查询(例如,http://localhost:49781/HTML/index.html?inputName=Marcus)从html表单中使用以下JavaScript: function setSignedName() { if (window.location.search.indexOf("=") >= 0) { var split = window.location.search.split("="); document.g
http://localhost:49781/HTML/index.html?inputName=Marcus
)从html表单中使用以下JavaScript:
function setSignedName() {
if (window.location.search.indexOf("=") >= 0) {
var split = window.location.search.split("=");
document.getElementById("signed_in_name").innerHTML += split[1];
} else {
document.getElementById("signed_in_name").innerHTML = "Not signed in";
}
运行脚本将得到结果:Marcus
我希望这个字符串在我的站点中保持不变,所以当用户导航到另一个页面时,inputName仍然是Marcus
实现这一目标的最佳方式是什么
编辑:这种方法仅用于显示/非生产用途,我知道使用像PHP这样的服务器端语言是最好的方法 您可能希望通过服务器端语言中的GET参数重新填充它,或者如果您希望将其组合在一起,请使用cookie并在页面加载时使用JavaScript以“pushState”重新填充它
我认为最好的方法是使用。它具有以下优点,而且易于使用:
function setSignedName() {
var userName = "";
if (window.location.search.indexOf("=") >= 0) {
var split = window.location.search.split("=");
userName += split[1];
} else {
userName = "Not signed in";
}
document.getElementById("signed_in_name").innerHTML = userName;
localStorage.setItem("userName", userName);
}
要访问它:
var userName = localStorage.getItem("userName");
就是这样。在fav broswer中开发者工具(F12)的“资源”选项卡中查看它。尝试使用本地存储是的,我知道使用服务器端语言是最佳选择,但这严格适用于显示/非生产用途。我试试这个,谢谢。