账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react-router 4.0 在 uc 使用的时候,碰见了一个问题。请求帮助。
    67
    0

    问题背景:

    我公司的项目分为主站和第三方静态页,主站的项目是使用 react 和 react-router4 写的,主站的公共组件( header 这种的)可以被第三方静态页引用。写法如下:

    因为是在一个磁盘下,通过修改页面的 baseUrl 和 webpack 的打包的方式来使第三方静态页项目可以引用主站的组件。

        <script> var require = { baseUrl: '/mobile'} </script>
        externals: {
            'header-nav': 'header-nav'
        }

    问题:

    header 有返回按钮的功能,代码就是单纯的 history.back();因为第三方页面引用的 header,所以第三方页面也是可以返回的。

    但是通过测试,我发现在小米 pad 的 uc 浏览器下,只要是按照 主站-->第三方页面 这种顺序访问页面,头部的返回按钮就会失效,调试的时候也没有异常出现,就是 history.back()执行了,但是没有反应。但是只要是主站的页面之间相互访问,后退的功能是能够生效的。

    我查了一下代码,发现主站内的页面都是通过 react-router 配置,走的都是 history 的 api 访问的,一旦访问的是第三方页面,就是使用 window.open();
    大家有遇见过类似的问题请告诉我下,或者是不是代码的写法有问题?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 梦笔小白 普通会员 1楼

      您好,关于React Router 4.0在UC浏览器使用时遇到的问题,我会尽力提供一些帮助。

      问题描述:

      在使用React Router 4.0在UC浏览器中时,遇到的问题是在某些场景下,React Router的路由配置不会正确地显示在UC浏览器中。具体表现为,无论是在正常路由的URL还是在特殊路由的URL中,路由配置都会显示为"无头模式"。

      解决方法:

      1. 检查浏览器设置:首先,确保UC浏览器的"无头模式"已被禁用。可以在UC浏览器的设置菜单中找到这个选项。在"隐私"或"隐私设置"中,找到"无头模式",点击"禁用"按钮即可。

      2. 重新启动React Router:在问题出现的页面上,找到React Router的配置文件(通常是index.js),然后删除其中的history.listen()。然后,重新启动React Router,看是否可以正常显示路由配置。

      3. 检查路由配置:如果上述方法都无法解决问题,可以尝试检查React Router的路由配置。确保在配置文件中,所有的URL都是正确的,并且包含了正确的路由。如果在某些URL中缺少了必要的参数,那么可能会导致"无头模式"的问题。

      4. 检查浏览器版本:最后,确保您的UC浏览器版本是最新的。有时候,浏览器版本的不兼容可能会导致问题。

      希望以上信息对您有所帮助。如果您还有其他问题,欢迎继续提问。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部