【发布时间】:2017-12-09 13:11:44
【问题描述】:
我有多个 html 页面 我在主页中有一些特定内容,刷新或重新加载页面时不应更改其内容。 但是当我导航到其他页面然后返回主页时,我想在主页中显示/隐藏 div 或 html 部分。 如何做到这一点?
【问题讨论】:
标签: javascript jquery html cookies
我有多个 html 页面 我在主页中有一些特定内容,刷新或重新加载页面时不应更改其内容。 但是当我导航到其他页面然后返回主页时,我想在主页中显示/隐藏 div 或 html 部分。 如何做到这一点?
【问题讨论】:
标签: javascript jquery html cookies
您可以使用document.referrer获取上一页URL,并使用条件隐藏您要隐藏的元素。
//element to hide
var boxA = document.querySelector('.boxA');
//last page url
var lastPage = document.referrer.split("/").pop();
//checking if element exist and previous page is page B
if(boxA && lastPage === 'b.html' ){
boxA.style.display = 'none';
}
StackOverflow sn-p 不支持多个 html 页面,请查看此 plunker 以更好地理解上述代码https://plnkr.co/edit/sbBIHf1RZA7YMTL4sJfd?p=preview
【讨论】:
在页面 B 上使用 JS 将查询字符串添加到 url,然后在页面 A 上检查它并根据需要删除/修改内容:
// Set url parameter:
var myURL = document.location;
document.location = myURL + "?a=parameter";
// Check for url parameter:
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
【讨论】:
使用 url 查询字符串从页面 B 链接到页面 A。类似的东西
https://mywebsite.com/a?myParam=1
然后在 A 页。
var myParam = location.search.split('myParam=')[1]
if(myParam == 1){
document.getElementById('hideDiv').style.display = 'none';
}
【讨论】: