Лучшая практика в SPA: хэш против URL вопросительного знака
У меня есть приложение на одной странице. и только что понял, что если я заменю свой подход location.hash для изменения состояния на подход запроса, я упросту приложение. и получить историю (кнопку назад) бесплатно. (вместо того, чтобы слушать события onhashchange)
Таким образом, мои URL будут перемещены из
http://.../spa.html#state={...}
http://.../spa.html?state={...}
Недостатком является то, что переход от "#" к "?" подразумевает, что страница перезагружается (что нормально, потому что состояние можно восстановить), но, хотя я это вижу, это может занять больше времени и / или мерцать.
Есть ли лучшие рекомендации по этому поводу?
1 ответ
В этом и заключается смысл SPA (или, по крайней мере, его основной части) - улучшить пользовательский опыт, не перегружая страницу. В любом случае, вы не выполняете традиционный обмен предварительно обработанными документами, а это означает, что агенты без поддержки JavaScript уже отсутствуют. Таким образом, с вашим решением вы обмениваете основное благо пользовательского опыта на незначительное упрощение вашего кода.