收藏
回答

接收小程序返回的链接信息,转义之后‘#’丢失,直接拼接‘#’字符也不行,会是什么原因呢?

在初始化页面时发现,使用decodeURIComponent方法转义,alert会将其中的‘#’字符丢失。

尝试先将‘%23’转化成‘___’,解码之后再replace替换成‘#’也未成功;如下直接拼接的方法也不行。

以下是测试代码及视频

    alert(window.location.href)
    let tempPath = this.getParam('path').replace('%23''___')
    alert('tempPath(quanjiao):'+tempPath)
    let path = decodeURIComponent(tempPath)
    alert(path)
    if (path && path !== 'undefined' && path !== 'null' && !dataBase.isHasPath) {
      dataBase.isHasPath = true
      if (!path.includes('mp/')) {
        this.$router.replace({ 'name'path })
      } else {
        alert('path here:' + path.split('___')[0] + '#' + path.split('___')[1])
        window.location.href = (path.split('___')[0] + '#' + path.split('___')[1]).slice(11)
      }
    }

回答关注问题邀请回答
收藏
登录 后发表内容
问题标签