githubはどのように高速ですか?


12

github(たとえばhttps://github.com/mojombo/jekyll/tree/master/bin)でリポジトリを閲覧すると、ajaxを使用しているように感じられ、毎回ページ全体をリロードしません。ただし、URLは(#の後だけでなく)実際に変更されます。

バックエンドについて書いているこの記事をすでに見つけました:https : //github.com/blog/530-how-we-made-github-fast

しかし、これは本当に全体的なトリックですか?

私のページはそれほど速く感じることはなく、すでにyslowを使用して最適化しています。


IE8ではそれほど高速ではないようですが、このHTML5機能をサポートしていないと思います。IE8では、URLが変更されると、ページ全体が参照されているように見えます。
MrWhite

@ w3d GitHubは、gitを使用している場合、IE以外の何かを使用するのに十分進歩的であると想定していると思います。また、IEをサポートしないことに決めたかもしれません。
sholsinger

回答:


7

URLの変更は、ハッシュを使用して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のURLにはハッシュがありません。これはどのように行われますか?
11

3
:[OK]を、それ見つけspoiledmilk.dk/blog/...
PEQ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.