github这么快吗?


12

当您在github上浏览存储库时(例如https://github.com/mojombo/jekyll/tree/master/bin),感觉就像它使用了ajax并且不会每次都重新加载整个页面。但是,网址确实会发生变化(不仅在#之后)。

我已经在他们写有关后端的文章中找到了这篇文章:https : //github.com/blog/530-how-we-made-github-fast

但这真的是整招吗?

我的页面从来没有这么快,我已经在使用yslow对其进行优化。


在IE8中似乎还不算快,我认为它不支持此HTML5功能。在IE8中,当URL更改时,整个页面似乎都被刷新了。
MrWhite 2011年

@ w3d我认为GitHub是假设您使用git时已经足够进步,可以使用IE以外的其他工具。他们可能也刚刚决定不支持IE。
sholsinger 2011年

Answers:


7

网址更改是在调用带有哈希值的A标签时混合的HTML旧功能,

<a href="#home">Go to my home</a>
<p>TextTextTextTextTextTextText</p>
<a id="home">

这样就可以链接同一页面的各个部分而无需完全重新加载,还有一个新的HTML5 JavaScript窗口对象

window.onhashchange

这个新对象是事件处理程序,当单击带有散列的链接时将触发该事件处理程序,因此可以使用JavaScript处理该事件,并可以使用浏览器历史记录和后退按钮。这是一个例子

function hashChanged() {
    if (location.hash === "#home") {
        showPage('home');
    }
}

window.onhashchange = hashChanged;

Mozzila开发人员网络window.onhashchange页面

jQuery hashchange事件跨浏览器插件


但是github在网址中没有哈希值。怎么做?
peq 2011年

3
好吧,发现:spoiledmilk.dk/blog/...
PEQ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.