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

yizhihongxing

在 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日

相关文章

  • JS简单生成由字母数字组合随机字符串示例

    当我们需要生成随机字符串的时候,可以使用JS代码来实现。下面是一些简单的JS代码示例可以生成由字母数字组合随机字符串。 方法一:使用Math.random()方法生成随机数 代码示例: /** * 生成指定长度的随机字符串(由字母数字组成) * @param {number} length 需要生成的字符串长度 * @returns {string} 生成的…

    JavaScript 2023年5月28日
    00
  • JavaScript对HTML DOM使用EventListener进行操作

    JavaScript操作HTML DOM JavaScript 是一门用于为网页添加动态效果的脚本语言。它可以在 Web 页面中执行计算、响应用户操作、更新 HTML 与 CSS、处理事件等。其中,操作 HTML DOM 是 JavaScript 中最常见的操作之一。 HTML DOM 简介 HTML DOM 是一种基于树的对象模型。HTML 文档被解释为树…

    JavaScript 2023年6月10日
    00
  • 一个最简单的级联下拉菜单

    下面是一个最简单的级联下拉菜单的制作攻略: 一、确定数据结构 首先需要确定级联下拉菜单的数据结构。通常使用 JSON 格式存储。一个简单的数据结构示例如下: { "中国": { "广东": ["广州", "深圳", "东莞"], "北京":…

    JavaScript 2023年6月11日
    00
  • javascript算法之数组反转

    我将为你详细讲解“javascript算法之数组反转”的完整攻略。首先需要了解的是什么是数组反转。数组反转是指将一个数组中的元素顺序颠倒,即数组的第一个元素变为最后一个,第二个元素变为倒数第二个,以此类推。 接下来我将为你提供具体的步骤: 创建一个数组 在开始反转数组之前,我们需要先创建一个数组。可以使用以下方法创建一个数组变量: let arr = [1,…

    JavaScript 2023年5月27日
    00
  • PHP图片验证码制作实现分享(全)

    关于“PHP图片验证码制作实现分享(全)”的完整攻略,具体分为以下几部分: 1. 概述 首先介绍验证码的作用:验证用户输入信息的真实性,防止恶意注册和登录等安全问题。随后简单介绍实现验证码的方式和常用语言。 2. 实现思路 为了实现图形验证码,需要在PHP中进行处理。图形验证码的实现会用到php的image、mt_rand()以及session等核心库函数和…

    JavaScript 2023年6月10日
    00
  • C#使用正则表达式抓取网站信息示例

    下面我将为你详细讲解“C#使用正则表达式抓取网站信息示例”的完整攻略。 1. 背景 当我们需要从网站上获取特定信息时,我们可以使用正则表达式来找到需要的内容。在 C# 中,可以使用 System.Text.RegularExpressions 命名空间来实现正则表达式的匹配。 2. 正则表达式基础知识 在使用正则表达式之前,我们需要了解一些基本概念: 字符集…

    JavaScript 2023年5月19日
    00
  • 对js eval()函数的一些见解

    下面就是“对js eval()函数的一些见解”的完整攻略。 1. eval()函数的介绍 eval() 函数是 JavaScript 中的一个内置函数,它接收一个字符串作为参数,然后将这个字符串解析为 JavaScript 代码并执行。eval() 函数可以用来动态地生成代码、动态地加载脚本以及实现其他一些动态脚本的功能。 2. eval()函数的使用 2.…

    JavaScript 2023年5月28日
    00
  • Javascript中将变量转换为字符串的三种方法

    将变量转换为字符串是在Javascript中一个非常常见的操作,下面我将详细讲解Javascript中将变量转换为字符串的三种方法: 1. toString()方法 toString()方法是将变量转换为字符串的最简单的方法,它是所有对象都有的一个方法。当使用toString()方法将变量转换为字符串时,如果该变量的值为null或undefined,在使用t…

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