我公司的项目分为主站和第三方静态页,主站的项目是使用 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(); 大家有遇见过类似的问题请告诉我下,或者是不是代码的写法有问题?