এত দ্রুত গিথুব কীভাবে?


12

আপনি যখন গিথুবতে সংগ্রহস্থলগুলি ব্রাউজ করেন (উদাহরণস্বরূপ https://github.com/mojombo/jekyll/tree/master/bin ) এটি দেখে মনে হয় এটি অজ্যাক্স ব্যবহার করে এবং প্রতিবার পুরো পৃষ্ঠাটি পুনরায় লোড করে না। তবে ইউআরএলটি সত্যিই পরিবর্তিত হয় (কেবল # এর পরে নয়)।

আমি ইতিমধ্যে এই নিবন্ধটি পেয়েছি যেখানে তারা তাদের ব্যাকএন্ড সম্পর্কে লিখেছেন: https://github.com/blog/530-how-we-made-github- ব্রেকফাস্ট

তবে আসলেই কি এটি পুরো কৌশল?

আমার পৃষ্ঠাগুলি কখনই তত দ্রুত অনুভূত হয় না এবং আমি ইতিমধ্যে এটি অপ্টিমাইজ করার জন্য yslow ব্যবহার করছি।


আইই 8 তে খুব দ্রুত নয় বলে মনে হয়, যা আমি ধরে নিয়েছি এই এইচটিএমএল 5 বৈশিষ্ট্যটি সমর্থন করে না। আইই 8-এ, ইউআরএল পরিবর্তন করার সময় পুরো পৃষ্ঠাটি নতুন করে দেখা যায়।
মিঃ হোয়েট

@ w3d আমি মনে করি গিটহাব হয় হয় ধরে নিচ্ছে আপনি যদি গিট ব্যবহার করছেন তবে আপনি IE ব্যতীত অন্য কিছু ব্যবহার করার জন্য যথেষ্ট প্রগতিশীল। তারা কেবলমাত্র আইই সমর্থন না করার সিদ্ধান্ত নিয়েছে।
শোলসিংগার

উত্তর:


7

ইউআরএল পরিবর্তন হ্যাশ সহ একটি ট্যাগ কল করার সময় এইচটিএমএল এর পুরানো বৈশিষ্ট্যের মিশ্রণ,

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

এটি সম্পূর্ণরূপে পুনরায় লোড না করে একই পৃষ্ঠার অংশগুলি এবং একটি নতুন এইচটিএমএল 5 জাভাস্ক্রিপ্ট উইন্ডো অবজেক্টকে লিঙ্ক করা সম্ভব করে তোলে

window.onhashchange

এই নতুন অবজেক্টটি এটি ইভেন্টের হ্যান্ডলার, যখন হ্যাশগুলির সাথে কোনও লিঙ্ক ক্লিক করা হয় তখন আগুন লাগে, সুতরাং জাভাস্ক্রিপ্ট এবং ব্রাউজারের ইতিহাস এবং পিছনের বোতামগুলির সাহায্যে সেই ইভেন্টটি পরিচালনা করা সম্ভব। এখানে একটি উদাহরণ

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

window.onhashchange = hashChanged;

মোজিলা বিকাশকারী নেটওয়ার্ক উইন্ডো.অনশাচ পৃষ্ঠা

jQuery হ্যাশচেঞ্জ ইভেন্ট ক্রস ব্রাউজার প্লাগ-ইন


তবে ইউটিউলে গিথুবের কোনও হ্যাশ নেই। এটি কিভাবে হয়?
পিক

3
ঠিক আছে, এটি খুঁজে পেয়েছে: spoiledmilk.dk/blog/…
পিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.