我正在努力摆脱当前的情况:我们在某个服务器上部署了一个聚合物 SPA ( A ) 并绑定到某个 url:http ://example.com/A ,我们确实需要显示遗留页面旧应用程序暂时,为了做到这一点,已经开发了一个新应用程序 ( B ) 并将其绑定到不同的 url ( http://example.com/B )。
B 所做的是构建旧应用程序的页面并暴露一个按钮,其目的是通过访问 document.referrer 值并重新加载页面来返回到先前的位置,问题是作为一个 SPA,URL 没有存在于服务器上。
更详细:
- 用户登录应用程序 A ( http://example.com/A/overview )
- 用户使用 SPA 并最终访问由路由管理的某个 url ( http://example/A/stuff/we/sell/jackets )
- 在页面http://example.com/A/stuff/we/sell/jackets中有一个指向应用程序 B 的链接,构成了显示夹克的旧应用程序页面
- 用户单击该链接并转到http://example.com/ B /legacy/jackets,此时 document.referrer 等于http://example.com/ A /stuff/we/sell/jackets
- 用户单击按钮关闭视图,应用程序 B 将窗口的位置设置为文档。referrer 试图从他/她来自的地方登陆用户。
- 作为应用程序 A 的 SPA,服务器上不存在URL http://example.com/ A /stuff/we/sell/jackets,并且用户(正确地)获得了 404。
那么问题来了:有没有什么办法可以拦截app路由中window.location变量的变化,避免页面完全刷新,让用户进入链接所在的页面呢?