收藏
回答

侧边栏聊天设置hash模式的侧边栏,切换后回退不会关闭侧边栏?

问题类型 API/组件名称 终端类型 微信版本 基础库版本
Bug onHistoryBack 微信安卓客户端 3.0.0 Android 6.0.1 WeChat7.0.1

比如配置了2个侧边栏:


侧边栏1:https://test.com/#/    页面内没有任何路由更新


侧边栏2:https://test.com/#/tags    页面内没有任何路由更新




在进入侧边栏1后,切换到侧边栏2,再切换(来回切换),然后在任意侧边栏点击返回按钮,按理应该是没有历史记录。但是点击返回按钮不会直接退出,而是会回退历史记录???




基于官方的回复说hash模式会产生历史记录,然后我又将Nginx配置改成如下:

location /wxwork-sidebar{

            access_log  logs/log.log  main;

            root static;

            try_files /test/test2.html $uri=500;


然后配置了2个tab:

tab1:https://test.com/#/tags 这里还是走hash模式

tab2:https://test.com/wxwork-sidebar/info 这里走历史模式,详细见上面Nginx的路由加了一个配置

这个时候再来回切换tab,同样在任意tab里面点击返回键,Android一定会出现在当前tab里面会回退到另一个tab的内容!!!

下面是操作视频,请参考

https://pinpai-portal-rs.eebbk.net/2020/01/18/1579334969120/6783191725006213749.MP4

最后一次编辑于  2020-01-18
回答关注问题邀请回答
收藏

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-01-10

    您好,进入侧边栏1 切换到侧边栏2,点击返回按钮不会直接退出,会回退到历史记录,这个应该是浏览器的逻辑吧

    2020-01-10
    有用
    回复 8
    • 阳光
      阳光
      2020-01-13
      浏览器逻辑???问题是我没有进行过任何的历史记录操作呢,你的意思是浏览器打开http://localhost/#name,会有历史记录???
      2020-01-13
      回复
    • 阳光
      阳光
      2020-01-13
      还是说企业微信的侧边栏webview是会把多个tab合并成一个?如果是这样,这难道不是一个bug?
      2020-01-13
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-01-13回复阳光
      现在才明白问题的意思,我们测试下看看哈
      2020-01-13
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-01-14回复阳光
      您好,我们测了下,发现不会出现您这个bug,“返回”按钮只有存在历史记录的情况下才会出现,您检查下页面中是不是进行了自动跳转
      2020-01-14
      回复
    • 阳光
      阳光
      2020-01-14回复企业微信运营专员-千夜
      我这个用的是vue的hash模式
      2020-01-14
      回复
    查看更多(3)
  • 阳光
    阳光
    2020-01-10

    侧边栏配置的路径是通过auth形式redirect的,如:

    redirect_uri=encodeComponentURI(https://test.com/#/tags)

    2020-01-10
    有用
    回复 2
    • Sam
      Sam
      2020-01-19
      vue 的 hash 模式也是基于 history 的,当您点击侧边栏跳转时,会自动进行一次 history.push 的行为
      您用 vue-router 控制 tab 和 页面,必定会出现上面您描述的情况,而这也是符合最初的设计思想的
      如果您想在 tab 之间互相切换而不不会影响“返回”的效果的话,建议您直接用 vuex 定义全局变量,当点击 tab 时,改变这个变量,而页面监控变量发生变化后,就切换渲染内容。
      2020-01-19
      回复
    • 阳光
      阳光
      2020-01-20回复Sam
      不是这样的,我的页面里面并没有进行过路由跳转,只是每个tab配置了一个路径而已,切换tab还是他们用了同一个webview组件实现的。
      而且,这种方式你用vuex是无法进行变量监测的,因为切换tab相当于刷新了页面,并不是通过vue-router来改变路径
      2020-01-20
      回复
登录 后发表内容
问题标签