zoukankan      html  css  js  c++  java
  • 微信分享#后面被截断,导致安卓分享失效

    最近用vue的hash模式基于微信公众号开发的分享链接再安卓手机#后面的被截断了,导致分享每次都是跳转到首页,ios是没有问题的。

    首先:微信对于分享的链接后面会加上它们的一些参数,比如:from=singlemessage&isappinstalled=0等,分享到不同的,

    参数名称不一样的,朋友圈,好友,群组各不一样,可以自己抓包看看;假如我们分享的地址:https://baidu.com/#/detail?id=2

    ios是可以正常分享,正常跳转,但是安卓的就会出现跳转的地址:https://baidu.com/,#后面的被截断了,具体原因也不知道,

    微信做了不可告人的事情,哈哈,但是我们还是要解决,网上搜了一堆,试了好多没有用,最后看到一个,就是再分享的链接拼接

    地址的时候再‘#’前面增加问号,这样看到的地址就包括我们的参数了

    //添加?解决安卓分享被截断问题
    if (url.indexOf('?') != -1) {
        url = url.split('?')[0];
        link = url + '?#' + location.href.split('#')[1];
    }
    else {
        link = url + '?#' + location.href.split('#')[1];
    }

    但是问题又出现了,最终点击分享https://baidu.com/?#/detail?from=singlemessage&isappinstalled=0&id=2的结果的跳到的链接是空白,

    最后没办法,只能要求后端,把微信追加的那段from=singlemessage&isappinstalled=0给截取掉,跳转的url变成:https://baidu.com/#/detail?id=2

    最后才解决。

    结论:微信是个坑,安卓也是一个坑

  • 相关阅读:
    第十一章关联容器
    第十章泛型算法
    第九章
    第八章
    阅读记录
    java.lang.Class阅读笔记
    java.time包阅读笔记
    CLion运行多个main函数
    c++中lower_bound和upper_bound中的comp参数
    如何写dfs
  • 原文地址:https://www.cnblogs.com/dehuachenyunfei/p/wechat_share.html
Copyright © 2011-2022 走看看