关于document.referre属性在ios中不能使用

前言

 今天写页面的时候用到referre属性,想要在跳转到下一页面的时候能够获得前一页面的URL,结果在ios中打开的页面中没作用。经过查询发现应该是在ios15以上的版本此属性会被设置为空字符串。


一、为什么在ios中没作用?

 在 iOS 设备上,document.referrer 属性的行为与其他平台上的浏览器有所不同。在 iOS 的 Safari 浏览器中,document.referrer 属性通常会被设置为空字符串,以保护用户的隐私。

二、由于 iOS Safari 的限制,无法直接获取引用页面的 URL。如果你需要在 iOS 设备上获取引用页面的 URL,可以考虑以下替代方法:

1.使用 URL 参数

 在引用页面的链接中,可以通过 URL 参数的方式将引用页面的信息传递到目标页面。例如,可以在链接中添加一个参数 referrer,并将引用页面的 URL 作为参数值。然后,在目标页面中使用 JavaScript 获取该参数值来获取引用页面的 URL。
 引用页面链接示例:

<a href="target.html?referrer=https://example.com">目标页面</a>

 目标页面 JavaScript 示例:

var urlParams = new URLSearchParams(window.location.search); 
var referrer = urlParams.get('referrer');

2.使用服务器端处理

 如果你有服务器端的支持,可以在服务器端处理并将引用页面的 URL 传递给目标页面。服务器端可以将引用页面的 URL 添加到目标页面的内容中,或者通过 AJAX 请求将其发送到目标页面。


总结

 这些方法可以绕过 iOS Safari 上的 document.referrer 限制,从而获取引用页面的 URL。请根据你的具体需求选择适合的方法,并根据需要进行相应的实现和调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值