知道按下哪个按钮导致此页面

时间:2017-12-28 05:44:46

标签: javascript html

我有一个带有~6个按钮的菜单,每个按钮都指向同一页面。 在该页面中,有一个下拉菜单。 6个按钮的用途是,当单击其中一个按钮时,页面将被重定向,然后下拉菜单将打开到正确的选项卡。

但是,重定向页面时会杀死所有脚本,所以我不能这样做:

<body>
<a id="buttonID" onclick="GoToPage('buttonID')">All</a>
</body>

<script>
function GoToPage(buttonID){
    redirect to page.html;
    open menu to tab related to buttonID
}
</script>

相反,我可能需要创建一个在页面加载时执行的函数,然后尝试查找它从哪个按钮到达,并根据该菜单打开菜单到正确的配置。

我应该使用类似的东西:

window.onload = ....

我怎样才能将哪个按钮重定向到此页面?

1 个答案:

答案 0 :(得分:0)

打开下拉菜单应该是目标页面的责任,而不是源页面。由于服务器不关心下拉菜单状态,请在fragment identifier中发送该信息:

<a id="buttonID" href="page.html#all">All</a>

在接收端,您可以使用

检索标识符
document.addEventListener('DOMContentLoaded', (event) => {
  let target = window.location.hash; // target = "#all"
  // modify your menu as appropriate
});

load事件在页面完全加载之前不会触发:图像,样式表,所有内容。修改下拉菜单并不需要其中任何一项,因此请改用DOMContentLoaded事件。它在加载和解析HTML页面并准备好进行DOM操作时触发。