गितब इतना तेज कैसे है?


12

जब आप रिपॉजिटरी को जीथब पर ब्राउज़ करते हैं (उदाहरण के लिए 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 बदलता है तो पूरा पृष्ठ संदर्भित होने लगता है।
१W:०४ पर MrWhite

@ w3d मुझे लगता है कि GitHub या तो यह मान रहा है कि आप IE के अलावा किसी अन्य चीज़ का उपयोग करने के लिए पर्याप्त प्रगतिशील हैं यदि आप git का उपयोग कर रहे हैं। उन्होंने यह भी सिर्फ IE का समर्थन नहीं करने का फैसला किया है।
शॉल्लिंगिंगर

जवाबों:


7

URL परिवर्तन HTML के पुराने फीचर का मिश्रण है, जब हैश के साथ A टैग को कॉल करता है,

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

जो एक ही पृष्ठ के सभी हिस्सों को पुनः लोड किए बिना संभव लिंक करना और एक नया HTML5 जावास्क्रिप्ट विंडो ऑब्जेक्ट बनाता है

window.onhashchange

यह एक नई वस्तु है जो एक ईवेंट हैंडलर है, जो आग लगने पर हैश के साथ लिंक पर क्लिक करता है, इसलिए जावास्क्रिप्ट और हिस्ट्री और बैक बटन को कब्जे में लेकर ईवेंट को हैंडल करना संभव है। यहाँ एक छूट है

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

window.onhashchange = hashChanged;

Mozzila डेवलपर नेटवर्क window.onhashchange पेज

jQuery हैशचेंज घटना क्रॉस-ब्राउज़र प्लग-इन


लेकिन जीथल का यूआरएल में कोई हैश नहीं है। यह कैसे किया जाता है?
14

3
ठीक है, यह पाया गया: खराब किए गएmilk.dk/blog/…
15
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.