Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Angular JS Gotcha: HTML5 Mode Routing (releaseboard.com)
16 points by pairing on Jan 14, 2014 | hide | past | favorite | 6 comments


This isn't some magic from AngularJS, it is a standard HTML5 API and it's been around for a while. It is designed to allow single page applications to use beautiful URLs. So, this isn't an AngularJS gotcha. Not at all. You can read more about it here: http://diveintohtml5.info/history.html


And here...

> The reason why refreshing your browser breaks HTML5 mode is that all the routes in your AngularJS application are not real. Release[Board] doesn't have a /releases page. AngularJS is using some clever JavaScript to make it seem like a /releases page exists. When the user hits refresh, the browser tries to load a real /releases page, which is non existent. I find this a completely unacceptable user experience.

...isn't this a case of "Duh. What did you expect to happen?"


Yep. and the simple solution is a server-side wildcard route.



Switching between HTML5 and 'hashbang' URLs lets you run apps in environments which lack support the history API or absolute URLs. Examples include old IE and Cordova. The bit of webserver config necessary is a non-issue, imo.


So what you're saying is...when you set the URL to something that no longer points to a Resource, it no longer works?

Who could have guessed that undermining a basic concept of the Web might cause problems.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: