मैं history.js उपयोग कर रहा हूँ और जब उपयोगकर्ता एक लिंक या बटन पर क्लिक करता है मैं History.pushState([...])
द्वारा एक ईवेंट हैंडलरhistory.js में राज्य परिवर्तन को ट्रिगर किए बिना राज्य कैसे बदलें?
$(window).bind('statechange', function(){
// Loads the content representing the state via ajax
});
अधिकांश सामग्री में परिवर्तन शुरू हो जाता है।
लेकिन कुछ मामलों में सामग्री परिवर्तन सीधे जावास्क्रिप्ट द्वारा प्रबंधित किया जाता है (यानी डीओएम तत्व को बदलकर, जोड़कर या हटाकर) और अजाक्स के माध्यम से नए राज्य का प्रतिनिधित्व करने वाली सामग्री को लोड करने की आवश्यकता नहीं है।
फिर भी, मैं एक राज्य धक्का और यूआरएल को बदलने के लिए नए राज्य को प्रतिबिंबित करने के लिए, उपयोगकर्ता हिट रीलोड या बाद में वापस बटन का उपयोग करना चाहते चाहिए आदि
तो मेरे सवाल है की जरूरत है: मैं कैसे धक्का करना एक राज्य लेकिन कुछ मामलों में सामग्री लोड करने से बचें? क्या कोई ऐसा झंडा है जिसे स्टेटलैंड इवेंट हैंडलर में पास किया जा सकता है या क्या मैं इसे पूरी तरह से बाधित कर सकता हूं?
मेरा स्वयं का समाधान कुछ समान था, सिवाय इसके कि मैंने वैश्विक इतिहास वस्तु की एक संपत्ति निर्धारित की है। इस सवाल को और भी देखें (http://stackoverflow.com/questions/8744487/statechange-is-firing-whenever-i-do-a-push-state?rq=1) इस मुद्दे पर और अधिक के लिए। – jgivoni