Откат маршрутизации истории HTML5 для гибридных приложений - PullRequest
0 голосов
/ 10 июля 2019

У нас есть React WebApp, который использует HTML5 History API для управления состоянием.

Приложение манипулирует историей с помощью pushState и replaceState, что, в свою очередь,также изменяет местоположение браузера.Дополнительным преимуществом является то, что пользователь может использовать встроенные в браузер кнопки «вперед» и «назад» для навигации по одностраничному приложению.

Конечно, эти URL-адреса на самом деле не существуют.Когда вы перезагружаете веб-страницу, веб-сервер отвечает тем же index.html на все запросы (аналогично historyApiFallback для webpack-dev-server ).

Теперь наше WebApp также доступно какГибридное приложение внутри Electron и как приложение iOS внутри WKWebView.

Когда вы выполняете window.location.reload() в этих приложениях, они будут пустыми, поскольку местоположение в локальной файловой системе не существует.

Могу ли я как-нибудь всегда использовать файл index.html по умолчанию в этих приложениях ?например, с каким-то перехватчиком?Мне нужно решение как для Electron, так и для WKWebView, но я предполагаю, что общего решения не существует, и, конечно, я уже был бы очень благодарен за любое решение на одной из двух платформ.

...