javascript - #!链接中的主题标签和感叹号作为文件夹?

标签 javascript jquery ajax html

如何让我的页面像 grooveshark 页面一样显示
http://grooveshark.com/#!/popular
是否有教程或其他东西可以了解如何通过 jQuery 或 JavaScript 以这种方式显示页面?

最佳答案

url 中的散列和感叹号称为散列符号,通常用于 javascript 负责实际加载页面的 Web 应用程序中。哈希后的内容永远不会发送到服务器。例如,如果您有 url example.com/#!recipes/bread。在这种情况下,example.com 的页面将从服务器获取,这可能包含一段 javascript。然后,此脚本可以从 location.hash 读取,并加载位于 /recipes/bread 的页面。

Google 还将此 URL 方案识别为 AJAX url,并将尝试从服务器获取内容,因为它会由您的 javascript 呈现。如果您打算使用此技术制作网站,请查看 google's AJAX crawling documentation for webmasters .另请记住,您不应依赖启用的 javascript,如 Gawker learned the hard way.

hashbang 在很多网站上都不再使用了,即使 javascript 负责路由。这是可能的,因为所有主流浏览器都支持 history API .为此,他们让网站上的每个路径都返回相同的 Javascript,然后查看实际的 url 以加载内容。当用户点击链接时,Javascript 拦截点击事件,并使用 History API 将新页面推送到浏览器历史记录中,然后加载新内容。

关于javascript - #!链接中的主题标签和感叹号作为文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12871224/

相关文章:

javascript - 如何将动态 JS 文件传递​​到 PhantomJS

php - 从 PHP 列表中输入 .val()

javascript - 你可以用 XMLHttpRequest 做什么而不能用 Fetch API?

javascript - MobX:观察到的组件在可观察到的变化后不会重新呈现

jquery - 使用 safari 的 CSS/JavaScript slider 动画问题

jquery - HTML 表格单元格在应占用完整单元格高度的插槽中拆分

javascript - ajax php 获取行值

javascript - 如何在 Ipython Notebook 中制作多文件上传小部件?

javascript - Javascript 中的真值表

javascript - 当我向下滚动到它们的 div 时如何使侧面 ID 导航链接处于事件/悬停状态