我有多个html页面 我在主页中有一些特定内容,刷新或重新加载页面时不应更改其内容。 但是当我导航到其他页面然后回到主页时,我想在主页中显示/隐藏html的div或部分。 如何实现这一目标?
答案 0 :(得分:1)
您可以使用document.referrer
获取上一页网址,并使用条件隐藏您要隐藏的元素。
//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代码段不支持多个html页面,请检查此plunker以更好地理解上述代码https://plnkr.co/edit/sbBIHf1RZA7YMTL4sJfd?p=preview
答案 1 :(得分:0)
使用第B页的JS向网址添加查询字符串,然后在第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, " "));
}
答案 2 :(得分:0)
使用网址查询字符串从第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';
}