关于url重写:twitter的网址中“#!”的含义是什么?

what's the meaning of “#!” in twitter's url?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
What's the shebang/hashbang (#!) in Facebook and new Twitter URLs for?

我看到twitter的网址是这样的:叽叽喳喳~用户名

我知道Twitter的首页使用Ruby on Rails框架,但是"!"不是ror restful路由中的建议类型。那么为什么Twitter使用这种奇怪的URL类型呢?有什么特别的原因吗?


Twitter在他们的页面上经常使用Ajax。你几乎看不到整页的重放。通过使用这些锚定链接,它们可以避免重新加载页面,但仍有机会将页面的当前状态存储为收藏夹或使用浏览器的"后退"按钮。


这是一个hashbang URL。在HTML5 JavaScript URL重写之前的几天里,除了哈希符号,没有办法重写地址栏中的内容。本机,链接中的哈希符号指向网页上某个元素的ID。这在javascript中被重写以执行其他操作。

Twitter使用它真的很奇怪,特别是有一些库可以故障转移到使用hashbang,但在它可用时使用新的history.pushstate函数。