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 นั้นสมมติว่าคุณก้าวหน้าพอที่จะใช้อย่างอื่นที่ไม่ใช่ IE หากคุณใช้ git พวกเขาอาจเพิ่งตัดสินใจไม่สนับสนุน IE
sholsinger

คำตอบ:


7

การเปลี่ยน URL เป็นการผสมผสานระหว่างฟีเจอร์เก่า ๆ ของ HTML เมื่อเรียกแท็ก A ที่มีแฮช

<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 Developer Network window.onhashchange หน้า

ปลั๊กอินการข้ามเหตุการณ์ของเบราว์เซอร์ jQuery


แต่ GitHub ไม่มีแฮชใน URL สิ่งนี้ทำได้อย่างไร
peq

3
ตกลงพบแล้ว: brokenedmilk.dk/blog/…
peq
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.