You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何获取上一页页面信息?

实现同域验证后返回上一页

要实现「仅当来源页为同域网站时才返回上一页」的需求,无法直接通过React Router的useNavigate获取上一页信息,需要借助浏览器原生的document.referrer来判断来源域:

解决方案代码

import { useNavigate } from 'react-router-dom';

const YourComponent = () => {
  const navigate = useNavigate();

  const goBackSafely = () => {
    const referrerUrl = document.referrer;
    if (!referrerUrl) return;

    const currentOrigin = window.location.origin;
    const referrerOrigin = new URL(referrerUrl).origin;

    // 验证来源页与当前页同域
    if (referrerOrigin === currentOrigin) {
      navigate(-1);
    }
  };

  return (
    <button onClick={goBackSafely}>安全返回</button>
  );
};

export default YourComponent;

关键说明

  • document.referrer会返回用户跳转至当前页的来源URL,若用户直接访问当前页(无来源)则返回空字符串
  • 通过URL.origin提取域名(包含协议、域名、端口),确保严格同域验证,避免跨站跳转
  • 若来源页为其他网站,直接跳过返回操作

内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 09:13:20