gpt4 book ai didi

javascript - 如果上一页不是来自同一个域,则有条件地使用 window.history.back(-1)

转载 作者:行者123 更新时间:2023-11-30 19:40:32 25 4
gpt4 key购买 nike

我目前正在使用 ReactGatsbyJS 构建网站并尝试有条件地添加导航 window.history.back(-1); 如果上一页是同一域的一部分。

一个例子是

navigateBack = () => {
if (window !== undefined) {
window.history.back(-1);
}
};

请注意,if (window !== undefined) 允许在没有服务器端渲染的情况下使用 window

如何在运行此功能之前检查上一页。

例如,用户是从外部链接导航的,我想使用 navigate('/stories/'),否则如果用户来自内部页面,即 '/stories/2/' 我希望他们使用 window.history.back(-1);

返回

最佳答案

我必须通过检查以确保有一个历史可以访问,然后通过验证当前主机可以在引荐来源网址中找到来解决这个问题。如果找到它们,那么我知道它们来 self 的站点,所以我返回;否则,我会将它们导航到其他地方。

if(window.history.length > 1 && 
document.referrer.indexOf(window.location.host) !== -1) {
window.history.back();
}
else {
<do something else>
}

关于javascript - 如果上一页不是来自同一个域,则有条件地使用 window.history.back(-1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55452880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com