混合应用的HTML5历史记录路由后备

时间:2019-07-10 19:47:00

标签: ios electron html5-history

我们有一个React WebApp,它依靠HTML5 History API来管理状态。

该应用程序使用pushStatereplaceState处理历史记录,这反过来也修改了浏览器的位置。额外的好处是,用户可以使用浏览器的本机前进/后退按钮浏览单页应用。

当然,这些URL实际上并不存在。当您重新加载网页时,网络服务器对所有请求都以相同的index.html进行响应(类似于historyApiFallback for webpack-dev-server)。

现在,我们的WebApp也可以在Electron中作为混合应用程序使用,也可以在WKWebView中作为iOS应用程序使用。

当您在这些应用中执行window.location.reload()时,它们将变为空白,因为该位置在本地文件系统上不存在。

我可以始终以某种方式在这些应用程序上提供默认的index.html 吗?例如用某种拦截器? 我需要针对Electron和WKWebView的解决方案,但是我认为没有通用的解决方案,当然,我已经非常感谢两个平台之一上的任何解决方案。

0 个答案:

没有答案