JavaScript 在整个站点中持久化搜索查询
JavaScript persist a search query through out the whole site
我目前正在使用以下JavaScript从html表单中获取查询(例如,http://localhost:49781/HTML/index.html?inputName=Marcus
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";
}
运行脚本将得到结果:马库斯。
我希望这个字符串在我的网站上持久存在,所以当用户导航到另一个页面时,inputName 仍然是 Marcus。
实现这一目标的最佳方法是什么?
编辑:这种方法仅用于显示/非生产用途,我知道使用像PHP这样的服务器端语言是最好的方法。
我相信
最好的方法是使用localStorage。它适用于所有主流浏览器,并且易于使用:
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");
就是这样。在收藏夹浏览器的开发人员工具 (F12) 的"资源"选项卡中检查它。
您需要通过服务器端语言的GET参数重新填充它,或者如果您想一起破解它,请使用cookie并在页面加载时使用"pushState"使用JavaScript重新填充它。
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#The_pushState()_method
相关文章:
- 用程序搜索JQuery数据表中的文本
- 在html Select中添加搜索
- Ajax Live搜索发布到Laravel视图
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 学生搜索项目jquery/javascript
- 用于搜索的聚合物嵌套绑定
- 在javascript中搜索具有重复值的两个数组中的匹配值
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 使用javascript搜索具有用户输入的数组
- 淘汰搜索/筛选
- 搜索api在mac上显示对话框
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- 谷歌水印未显示在自定义搜索框中
- 在javascript中搜索项目列表的性能
- 正在搜索JavaScript日期选择器滑块
- JQuery中的活动搜索栏
- 如何在剑道下拉列表中按文本和值搜索
- 谷歌CSE-搜索参数
- 如何让typeahead在我的搜索栏中填充自定义参数
- JavaScript 在整个站点中持久化搜索查询