我有两个html页面index.html和register.html 从index.html我需要转到register.html并在跳过选择区域后显示登录页面。下面是我正在尝试的代码。
$("#lgnToProfile").on("click", function(){
window.location.href = "register.html";
$("#slctRgn").hide();
$("#lgnPage").show();
});
任何人都可以检查并建议我如何解决这个以及我做错了什么?
我在Show DIV or Section after redirecting to html page提到了解决方案,但没有成功。
答案 0 :(得分:1)
导航到新页面后,上一页上运行的Javascript都不再有任何效果。
您需要做的是,以某种方式告知register.html
它需要隐藏选择区域div,然后将div隐藏在register.html
中运行的脚本中。
例如,从index.html
您可以添加查询字符串参数以通知register.html
。
$("#lgnToProfile").on("click", function() {
window.location.href = "register.html?hideSlctRgn=1";
}
然后,从文件准备好的<{1}}, ,检查参数是否已设置并相应地隐藏div。
register.html
还有其他(更好的)方法来测试查询字符串参数是否存在,但上面的方法很简单。您可以设置cookie,也可以使用本地存储,而不是查询字符串参数。
答案 1 :(得分:1)
如果您不想修改网址路径,可以使用“localStorage”进行修改:
var currentPath = window.location.pathname;
var savedPath = localStorage.getItem('previousPage');
// if a page has been saved yet
if (typeof savedPath === 'string') {
// if the current page is "register.html" and the saved page is "index.html"
if (currentPath.match('/register.html') && savedPath.match('/index.html')) {
$("#slctRgn").hide();
$("#lgnPage").show();
}
}
// save current page
localStorage.setItem('previousPage', currentPath);
https://developer.mozilla.org/fr/docs/Web/API/Window/localStorage
答案 2 :(得分:0)
您需要检查引用页面以在下一页上采取进一步操作。因为JavaScript无法访问引用页面,所以您可以使用锚点或哈希来检查引用并显示/隐藏元素。
在index.html
上,您只需要添加哈希名称click
的注册页面的链接(不需要register.html#referer
jQuery事件)。单词referer
可以是您想要的任何内容。
然后在register.html
上,您需要评估哈希值:
$(document).ready(function() {
// get the hash value
var hash = window.location.hash;
// if the hash is defined and it’s equal to “referer” (the choosen hash value)
if(hash == "#referer") {
// execute your code to show or hide elements
}
});