इसलिए अब HTML5 history.pushState
ब्राउज़र इतिहास को बदलने के लिए परिचय देता है, वेबसाइटें URL के टुकड़े करने वाले पहचानकर्ता को बदलने के बजाय अजाक्स के साथ संयोजन में इसका उपयोग करना शुरू कर देती हैं।
अफसोस की बात है कि उन कॉल का पता अब तक नहीं लगाया जा सकता है onhashchange
।
मेरा प्रश्न है: क्या कोई विश्वसनीय तरीका (हैक?) है जब किसी वेबसाइट का उपयोग करता है history.pushState
? विनिर्देश उन घटनाओं के बारे में कुछ भी नहीं बताता है जो उठाए गए हैं (कम से कम मुझे कुछ भी नहीं मिला)।
मैंने एक मुखौटा बनाने की कोशिश की और window.history
अपने स्वयं के जावास्क्रिप्ट ऑब्जेक्ट के साथ बदल दिया , लेकिन इसका कोई प्रभाव नहीं पड़ा।
आगे की व्याख्या: मैं एक फ़ायरफ़ॉक्स ऐड-ऑन विकसित कर रहा हूं जो इन परिवर्तनों का पता लगाने और तदनुसार कार्य करने की आवश्यकता है।
मुझे पता है कि कुछ दिन पहले एक ऐसा ही सवाल था, जिसमें पूछा गया था कि क्या कुछ DOM ईवेंट्स को सुनना कुशल होगा लेकिन मैं इस पर भरोसा नहीं करूंगा क्योंकि ये ईवेंट बहुत अलग कारणों से उत्पन्न हो सकते हैं।
अपडेट करें:
यहाँ एक jsfiddle (फ़ायरफ़ॉक्स 4 या क्रोम 8 का उपयोग करें) से पता चलता है कि onpopstate
जब pushState
कॉल किया जाता है तो ट्रिगर नहीं होता है (या क्या मैं कुछ गलत कर रहा हूं? इसे सुधारने के लिए स्वतंत्र महसूस करें!)।
अपडेट 2:
एक और (पक्ष) समस्या यह है कि window.location
उपयोग करते समय अद्यतन नहीं किया जाता है pushState
(लेकिन मैं इस बारे में पहले से ही एसओ के बारे में यहां पढ़ता हूं)।
history
वस्तु बदल दी । इस मामले में यह अनावश्यक हो सकता है।