【问题标题】:in Html there's a way to make the link destination know the page which i come from?在 Html 中有一种方法可以让链接目的地知道我来自的页面?
【发布时间】:2026-01-04 01:40:02
【问题描述】:

我正在做一个网站,有 3 个起始页面,例如“首页 A”​​“首页 B”“首页 C”。 此页面中的每一页都通过 中的链接与同一个“最终页面”相关联。

因为我希望用户能够返回到他来自的起始页面,所以我在“最后一页”中添加了一个小导航栏,上面写着(例如,如果我来自“第一页 A”):

<a href=""> "first page A" </a> >>> Final Page

这样我就可以回到点击链接后的起始页面。

有一种方法可以告诉浏览器我是否来自“第一页 A”,在导航栏“第一页 A”中写入,如果我来自其他页面,则写入其他页面?

非常感谢!!

【问题讨论】:

  • 有很多方法可以做到这一点,例如带有Referer HTTP 标头、URL 中的查询部分或 cookie。所以这个问题实在是太宽泛了。但也不清楚要问什么。如果您想链接到用户进入该站点的站点页面,您需要定义您是指某个会话(以及在何种意义上)或第一次访问,最近访问过 A、B、C 中的任何一个。
  • 这很简单。为了简洁起见。它没有提到任何会话。这只是因为我对 3 个类别使用相同的页面。因此,当用户在该页面中时,我只希望他可以返回到他来自的类别。

标签: javascript jquery html href


【解决方案1】:

您可以使用 javascript 获取该信息:

<script type="text/javascript>
    var prev_page = document.referrer;
</script>

假设您的菜单 div 如下所示:

<div id="menu">
   <h2 id="menutitle">Page 1 <!--this will change dynamically now--></h2>
</menu>

然后用javascript设置菜单名:

<script type="text/javascript>
    var prev_page = document.referrer;
    switch(prev_page) {
        case 'http://link url here':   <!- say this page1 -->
            document.getElementById('menutitle').innerText = "Page1"


    }
</script>

【讨论】:

  • 好的,谢谢,这个很清楚了,用get方法不是更安全吗?
  • 您可以使用 GET 但这是另一个选项。这样可以将所有内容保存在一个位置。而且你没有添加额外的元素。在您的情况下,两者都是正确且完美的解决方案,因为您不会在获取参数中传递重要信息......
  • 非常感谢您的回答,我将使用 GET 一个,因为我认为在使用名称之间有空格作为链接标题时更通用。
  • 完美!!祝你好运,编码愉快
【解决方案2】:

是的,您可以使用GET 参数发送您来自哪个页面,使用链接中的参数(如finalpage.html?page=A)并在您的最终页面上使用document.location.search 获取该值

这里有一个小函数可以帮助你在javascript中获取url参数:

function getQueryParams(qs) {
    qs = qs.split("+").join(" ");

    var params = {}, tokens,
        re = /[?&]?([^=]+)=([^&]*)/g;

    while (tokens = re.exec(qs)) {
        params[decodeURIComponent(tokens[1])]
            = decodeURIComponent(tokens[2]);
    }

    return params;
}
qs = getQueryParams(document.location.search);
alert(qs.page);

【讨论】:

  • 要使用 get,我需要使用带有方法 get 的表单而不是 ?
  • 不,你没有。您可以使用&lt;a href="finalpage.html?page=A"&gt;Final&lt;/a&gt; 并使用上述函数获取该值
  • 好的,我传递了我来自的页面名称。现在我这样做了fiddle.jshell.net/rU4Tm,但显示一个空白页。
  • 检查这个小提琴:fiddle.jshell.net/rU4Tm/2 这个页面是你的最终页面,它应该在 url 中有参数页面,如finalpage.html?page=A
  • 我的网址中有finalpage.html?page=A.html
【解决方案3】:

使用:

var referrer = document.referrer; //stores referrer 
if( referrer && referrer != "" )
{
     //set the href to referrer
} 

【讨论】:

    最近更新 更多