In a conversation triggered by Tim Haines, Twitter front end engineer Dan Webb refers to his article “It's About The Hashbangs” on the problems of using #! URLs in JavaScript. He then goes on to confirm:
https://twitter.com/rauschma/status/171801699395178497 https://twitter.com/#!/rauschma/status/171801699395178497If JavaScript is enabled then the former version is rewritten to the latter version after the page has loaded. Traditionally, hashbang URLs were the only way of dynamically updating a URL to reflect the current application state. But with widespread support for pushState [1] that changed a while ago. You now can arbitrarily change a URL, as long as the domain stays the same.
Related reading: