Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hashtags(片段标识符)与Javascript历史API_Javascript_Api_Github_Browser History_Html5 History - Fatal编程技术网

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
还是两者都用?(通过回退)

方面:

  • 兼容性/支持
  • 速度
  • 方便

只要正常链接在不支持历史API的浏览器中正常工作,历史API就更可取

您可以使用诸如之类的库在这些浏览器中启用它

更多信息请点击这里:


简而言之,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内容的浏览器编写哈希回退