是否可以在从另一个页面上的触发器加载页面后执行代码? JS

Is it possible to execute code after page load from a trigger on another page? JS

我有一个带有 link 和子 link 的经典导航栏菜单。一个菜单 link 名为“houses”,它有名为“home1”、“home2”、“home3”的子项。在“房屋”页面上,有一个带有选项卡的 html 容器,每个选项卡都会打开一个部分,其中包含有关“home1”、“home2”和“home3”的信息。一切正常。

我的问题是,是否可以执行以下操作:当我从“房屋”页面以外的另一个页面点击任何子link“home1/2/3”时,“房屋”页面应该打开并且我单击的子 link 打开相应的选项卡?

我尝试了使用 Vanilla JS 的解决方案,但正如预期的那样,它仅在我位于“房屋”页面时有效。我明白为什么会这样,但我不知道如何实现(除了某种异步执行之外?)。

我的代码:

const menuitem = document.querySelectorAll('#menu-item-27 ul li [data-text]'); //data-text is the sublink - ("home1", "home2", "home3")
    for(let item of menuitem) {
        item.onclick = function() {
            window.onload = function WindowLoad(event) {
                document.querySelector('[data-tab="2"]').click(); 
                /* data-tab=1, data-tab=2, data-tab=3 is the tab element that opens the info on one of the "home1/2/3" divs 
                I'm using just data-tab=2 to test the click, don't worry about that part
                */
            }
        }
    }

这个问题有很多解法。例如,您可以创建一个 cookie 来存储对下一页有用的信息。 Use cookies

您可以向 URL 添加一个参数,当您的页面加载时,您可以获取信息并根据参数执行一些操作。 Add parameter

或者,您可以使用 localstorage

逻辑保持不变。目标是存储至少对一个请求持续存在的信息,以便在下一次页面加载时采取行动。