2012-12-18 16 views
18

SoundCloud एक अद्भुत साइट है जो HTML5 और Backbone.js का उपयोग करती है। एकमात्र चीज यह है कि मुझे नहीं पता कि वे किस तकनीक का उपयोग करते हैं जो संगीत को पृष्ठों को बदलने के दौरान भी खेलना जारी रखता है।पृष्ठों को बदलने के दौरान भी जारी संगीत प्लेबैक

ऑडियो स्ट्रीम खेलने के लिए वे किस तकनीक का उपयोग कर रहे हैं?

+0

मुझे लगता है कि यह एक "एकल पृष्ठ ऐप" है, जिसका अर्थ है कि आप वास्तव में कभी भी पूर्ण पृष्ठ रीलोड को ट्रिगर नहीं करते हैं। –

+0

लेकिन URL ने – rayking

+0

को चेन किया है, वे पुशस्टेट –

उत्तर

21

तथ्य यह है कि आप एक नया पृष्ठ लोड नहीं करते हैं, लेकिन सामग्री AJAX के माध्यम से लोड की जाती है।

पृष्ठ तब ब्राउज़र के पिछड़े और आगे के बटन का उपयोग करके नेविगेट करने की संभावना जोड़ने के लिए HTML5 इतिहास API का उपयोग करता है।

मैं पढ़ रहे हैं और नीचे दिए दो संसाधनों बाहर कोशिश कर रहा द्वारा इस विषय में शुरू कर दिया:

http://diveintohtml5.info/history.html
http://html5demos.com/history


सबसे आसान तरीका लोड और AJAX के माध्यम से सामग्री बदल दी और उसके बाद करने के लिए है कॉल

history.pushState(null, null, link.href); 

धारा के इतिहास प्रविष्टि को जोड़ने के लिए टली दिखाया पृष्ठ।

यदि आप अब बैक बटन दबाते हैं, तो ब्राउज़र पिछले पृष्ठ को लोड नहीं करेगा, लेकिन ईवेंट popState को आग लगा देगा। इसका उपयोग AJAX या आपके जावास्क्रिप्ट चर में संग्रहीत जानकारी का उपयोग कर पिछले पृष्ठ को पुनर्स्थापित करने के लिए किया जा सकता है।

window.addEventListener("popstate", function(e) { 
    //loadPreviousPage(); 
} 
संबंधित मुद्दे