वास्तव में ऐसा करने का एकमात्र तरीका है (और यह है कि 'वास्तव में यह कैसे करता है'), एक अंतराल निर्धारित करके जो वर्तमान हैश की जाँच करता रहता है, और इसकी तुलना में जो पहले था, उसकी तुलना में, हम ऐसा करते हैं और ग्राहकों को एक परिवर्तित सदस्यता लेते हैं। घटना है कि हम आग अगर हैश बदल जाता है .. अपने सही नहीं है, लेकिन वास्तव में ब्राउज़रों देशी इस घटना का समर्थन नहीं करते।
इस उत्तर को ताज़ा रखने के लिए अपडेट करें:
यदि आप jQuery का उपयोग कर रहे हैं (जो आज अधिकांश के लिए कुछ हद तक मूलभूत होना चाहिए) तो एक अच्छा समाधान यह है कि विंडो ऑब्जेक्ट पर हैशचेंज घटनाओं को सुनने के लिए jQuery आपको अपने इवेंट सिस्टम का उपयोग करके देता है।
$(window).on('hashchange', function() {
//.. work ..
});
यहाँ अच्छी बात यह है कि आप कोड लिख सकते हैं, जिसे हैशचेंज सपोर्ट के बारे में भी चिंता करने की आवश्यकता नहीं है, हालांकि आपको कुछ जादू करने की आवश्यकता है, कुछ हद तक कम ज्ञात jQuery फीचर jQuery के विशेष आयोजनों के रूप में ।
इस सुविधा के साथ आपको अनिवार्य रूप से किसी भी घटना के लिए कुछ सेटअप कोड चलाने के लिए मिलता है, पहली बार कोई व्यक्ति किसी भी तरह से घटना का उपयोग करने का प्रयास करता है (जैसे कि घटना के लिए बाध्यकारी)।
इस सेटअप कोड में आप देशी ब्राउज़र समर्थन की जांच कर सकते हैं और यदि ब्राउज़र इसे मूल रूप से लागू नहीं करता है, तो आप बदलावों के चुनाव के लिए एक सिंगल टाइमर सेटअप कर सकते हैं और jQuery इवेंट को ट्रिगर कर सकते हैं।
यह आपके कोड को इस समर्थन समस्या को समझने की आवश्यकता से पूरी तरह से बाहर कर देता है, इस तरह की एक विशेष घटना का कार्यान्वयन तुच्छ है (एक साधारण 98% वर्किंग संस्करण प्राप्त करने के लिए), लेकिन ऐसा क्यों करें जब कोई और पहले से ही हो ।