关于取不到由location.href提交而来的上级页面地址的解决办法

在 JavaScript 代码中,可以使用 document.referrer 获取到引用当前页面的上级页面的地址,但是无法获取由 location.href 提交而来的上级页面的地址。在这种情况下,需要通过其他方式解决。

一种可行的解决方法是在跳转链接的时候,将上级页面的地址作为参数传递到跳转的页面中。具体实现步骤如下:

  1. 在跳转链接中添加参数
<a href="http://example.com/my-page?referrer=http://previous-page.com">My Page</a>

referrer 参数的值就是上级页面的地址,这个地址可以使用 JavaScript 生成或者通过后端动态生成。

  1. 在接受参数的页面中获取上级页面的地址
const queryParams = new URLSearchParams(window.location.search);
const referrer = queryParams.get('referrer');

这段代码通过 URLSearchParams 对象获取到当前页面的 URL 参数,然后从参数中解析出 referrer 参数的值。

通过这种方法,我们就能够获取到由 location.href 提交而来的上级页面的地址了。

另一种可行的解决方法是使用 cookie 存储上级页面的地址。具体实现步骤如下:

  1. 在上级页面中设置 cookie
const referrer = window.location.href;
document.cookie = `referrer=${referrer}; path=/`;

这段代码将当前页面的地址设置为 referrer 的值,然后将其存储到 cookie 中,并设置 path 属性为根路径。

  1. 在接受 cookie 的页面中获取上级页面的地址
const cookies = document.cookie.split('; ');
const referrerCookie = cookies.find(cookie => cookie.startsWith('referrer='));
const referrer = referrerCookie ? referrerCookie.split('=')[1] : null;

这段代码首先通过 document.cookie 获取所有的 cookie,然后从中找到名为 referrer 的 cookie,最后获取到其值。

需要注意的是,获取到的 cookie 值是一个字符串,需要根据具体的使用场景进行解析。

通过这两种方法,我们就能够实现在 JavaScript 中获取由 location.href 提交而来的上级页面的地址。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于取不到由location.href提交而来的上级页面地址的解决办法 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • Chrome中JSON.parse的特殊实现

    谈论Chrome中JSON.parse的特殊实现需要先了解JSON.stringify()和JSON.parse()这两个API的作用。其中,JSON.stringify()可以将一个JavaScript对象或数组转换成一个JSON字符串,而JSON.parse()则可以将JSON字符串转化为JavaScript对象或数组。 我们来看一个例子: var ob…

    JavaScript 2023年5月27日
    00
  • js实现的类marquee水平循环滚动

    JS实现的类marquee水平循环滚动,是指在一个容器内部以水平方向不间断滚动一段文字或图片等内容,类似于HTML中的标签效果。以下为完整的攻略: 步骤1:HTML结构 首先,在HTML中建立一个容器,例如: <div id="scroll-container"> <span>这是一段滚动文字</span&g…

    JavaScript 2023年6月11日
    00
  • AngularJS使用ngMessages进行表单验证

    好的!那么在这里我将详细为您讲解如何使用AngularJS中的ngMessages模块进行表单验证。 什么是ngMessages? ngMessages是AngularJS模块中的一种指令,用于在UI层面进行表单验证。ngMessages会根据验证不通过时的条件,自动输出相应的错误消息。这样可以极大地方便用户填写表单,并且提示信息是根据具体情况显示的,让用户…

    JavaScript 2023年6月10日
    00
  • javascript中日期函数new Date()的浏览器兼容性问题

    JavaScript中的日期对象是非常常用的,其中一个常见的日期函数是new Date()。然而,在不同的浏览器中,它的行为是不一样的,因此需要特别注意。 不同浏览器中的行为差异 在 new Date() 方法中,如果不传递任何参数,那么它将返回当前日期和时间。例如: var now = new Date(); console.log(now); 但是,在不…

    JavaScript 2023年5月27日
    00
  • vue + typescript + 极验登录验证的实现方法

    这里是详细的“vue + typescript + 极验登录验证的实现方法”攻略。 简介 极验验证码是一种常用于网站登录等安全验证的方式。而Vue是一种流行的JavaScript框架,Typescript是JavaScript的一个超集,在开发中更加规范和安全。如何在Vue项目中集成极验验证码以提高网站的安全性呢?下面是实现方法的具体步骤。 步骤一:安装极验…

    JavaScript 2023年6月11日
    00
  • 浅谈JavaScript中内存泄漏的几种情况

    浅谈 JavaScript 中内存泄漏的几种情况 JavaScript 作为一门动态语言,具有自动垃圾回收机制,可以自动管理内存,以使程序运行更加高效。然而,由于某些原因,一些对象可能会无法被垃圾收集器正确回收,导致内存泄漏。本文将介绍几种常见的 JavaScript 内存泄漏情况。 1. 全局变量 在 JavaScript 中,变量分为全局变量和局部变量。…

    JavaScript 2023年6月10日
    00
  • Javascript连接Access数据库完整实例

    下面是Javascript连接Access数据库的完整攻略: 1. 安装必要的软件 首先需要安装以下软件: 安装Access数据库管理软件,比如Microsoft Office Access; 安装Node.js环境,可以从官网下载并安装。 2. 创建Access数据库 在Access软件中,新建一个数据库文件,并添加一个数据表,表中包含三个字段:id、na…

    JavaScript 2023年6月11日
    00
  • JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)

    下面是“JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)”的完整攻略: 标题 JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome) 问题描述 在网页开发中,有时需要关闭当前页面而不触发提示框的弹出,那么如何使用JavaScript实现无提示关闭浏览器窗口的功能呢? 解决方案 通过JavaScript可以调用…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部