我们有一个React WebApp,它依靠HTML5 History API来管理状态。
该应用程序使用pushState
和replaceState
处理历史记录,这反过来也修改了浏览器的位置。额外的好处是,用户可以使用浏览器的本机前进/后退按钮浏览单页应用。
当然,这些URL实际上并不存在。当您重新加载网页时,网络服务器对所有请求都以相同的index.html进行响应(类似于historyApiFallback for webpack-dev-server)。
现在,我们的WebApp也可以在Electron中作为混合应用程序使用,也可以在WKWebView中作为iOS应用程序使用。
当您在这些应用中执行window.location.reload()
时,它们将变为空白,因为该位置在本地文件系统上不存在。
我可以始终以某种方式在这些应用程序上提供默认的index.html 吗?例如用某种拦截器? 我需要针对Electron和WKWebView的解决方案,但是我认为没有通用的解决方案,当然,我已经非常感谢两个平台之一上的任何解决方案。