【无标题】

1、问题描述
在一个工作项目中(Vue单页面应用),使用到两个第三方服务:

1)使用接口 https://whois.pconline.com.cn/ipJson.jsp?callback=IPCallBack&ip= 获取IP位置

2)使用微信H5支付接口实现支付流程

    这两个服务在document.referrer上存在一个冲突:

    1)IP定位接口貌似不允许外部网站调用,它会检查referrer,若是外部网站,则会报403错误。

403
为了解决这个问题,需要在页面head中添加如下两个meta标签



2)微信H5支付接口在使用时,也会检查referrer,若该信息为空,则会报错“商家参数格式有误,请联系商家解决”,无法进入支付流程。

    为了解决这个问题,就需要页面head中不能有content="no-referrer"和content="never"的meta标签

商家参数格式有误,请联系商家解决
2、解决方案
1)当网站初始化时获取IP位置,获取完成后移除这两个meta标签(×)

let meta_1 = document.querySelector(‘#meta_1’)
let meta_2 = document.querySelector(‘#meta_2’)
meta_1.remove()
meta_2.remove()
但是这样操作以后并没有达到预期的效果。

    2)当网站初始化时获取IP位置,获取完成后修改这两个meta标签的属性值(√)

let meta_1 = document.querySelector(‘#meta_1’)
let meta_2 = document.querySelector(‘#meta_2’)
meta_1.setAttribute(‘content’, ‘unsafe-URL’)
meta_2.setAttribute(‘content’, ‘unsafe-URL’)
如此修改后,问题解决

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值