Hashtags(片段标识符)与Javascript历史API
哪一个更好?使用片段标识符Hashtags(片段标识符)与Javascript历史API,javascript,api,github,browser-history,html5-history,Javascript,Api,Github,Browser History,Html5 History,哪一个更好?使用片段标识符 http://www.alinkthatdoesnotwork.com/#!/dir1/dir2/file.html …还是新的Javascript历史API https://github.com/examplethatdoesnotwork/project/src/script.js 还是两者都用?(通过回退) 方面: 兼容性/支持 速度 方便 只要正常链接在不支持历史API的浏览器中正常工作,历史API就更可取 您可以使用诸如之类的库在这些浏览器中启用它 更
http://www.alinkthatdoesnotwork.com/#!/dir1/dir2/file.html
…还是新的Javascript历史API
https://github.com/examplethatdoesnotwork/project/src/script.js
还是两者都用?(通过回退)
方面:
- 兼容性/支持
- 速度
- 方便
简而言之,URL很重要。URL是永久的,很酷的URL不会改变,最后:一旦你hashbang,你就不能回去了。我想问题是什么是支持。目前你不能只使用History API,因为IE不支持它。你需要像GitHub一样的后备解决方案。Hashtags是对Twitter上的内容进行分类的一种方法,你指的是片段标识符 使用片段标识符来指示通过Ajax加载什么内容是一个糟糕的想法。他们是一名黑客 history API是一个健壮的系统,实际上是为完成这项工作而设计的。它唯一的问题是,但是(与片段标识符方法不同),它优雅地降级为真正的URI,将直接传递给您的服务器(这是)
甚至Twitter似乎也是如此。您已经将“兼容性”列为第一个标准。由于历史API(我在看你,微软),甚至在他们的最新版本(IE9没有),这几乎意味着你必须使用散列。(这太糟糕了,但我们做到了。)而且不仅仅是微软,很多移动设备都在使用一个或两个版本的移动浏览器,所以仍然没有。新的历史记录方法对于AJAX导航非常有用。例如,pushState或replaceState允许您更新浏览器的地址栏,以便用户看到一个干净的URL,而不是一个丑陋的hashtaged对象 但是,我相信您也知道,对新API的支持仍然有限。在这一点上,location.hash得到了更广泛的支持,这意味着您必须为无法利用较新的window.history内容的浏览器编写哈希回退