2015-10-23 52 views
6

मैं, एक वेबसाइट है, जहां url पैरामीटर उपयोगकर्ता कार्रवाई के आधार पर अद्यतन किया जाता पर काम कर रहा हूँ जो मैं ताज़ा बिना वेबपेज अद्यतन करने के लिए अनुसार। ई-कॉमर्स के परिदृश्य पर विचार करें जहां उपयोगकर्ता फ़िल्टर पर क्लिक करते समय यूआरएल बदलता है और फिर अपडेट किए गए उत्पाद प्रदर्शित होते हैं।ब्राउज़र वापस बटन परिवर्तन डायनामिक URL पैरामीटर

अब समस्या है, जब उपयोगकर्ता ब्राउज़र के वापस बटन पर क्लिक करता है ब्राउज़र वापस पिछले यूआरएल पैरामीटर के लिए चला जाता है, लेकिन पेज बदल जाती है नहीं किया है। मैं पेज को यूआरएल पैरामीटर के आधार पर भी बदलना चाहता हूं जो बैक बटन क्लिक करने के बाद बदल जाता है।

मैं इस समाधान की कोशिश की है:

$($window).on('popstate', function (e) { 
    // Update the page also 
}); 

इस कोड के साथ समस्या है, इस यूआरएल परिवर्तन के रूप में निकाल दिया जाता है, जिसका अर्थ इसके बारे में यदि ब्राउज़र वापस बटन क्लिक किया जाता है परवाह नहीं करता, या url का उपयोग कर बदल रहा है jQuery। इसलिए यदि मैं उपयोगकर्ता इंटरैक्शन के आधार पर यूआरएल बदल रहा हूं, तो पॉपस्टेट कॉलबैक को कॉल किया जाएगा और मेरा कस्टम फ़ंक्शन भी होगा। पृष्ठ को अपडेट करने के लिए मैं https अनुरोधों का उपयोग कर रहा हूं, इसलिए http api को दो बार बुलाया जाता है।

वहाँ अगर केवल "वापस" बटन क्लिक किया जाता है की जाँच करने के कोई तरीका है?

+0

यह सहायक हो सकता है: http://stackoverflow.com/questions/18211984/how-to-control-back-button-event-in-jquery- मोबाइल –

+0

धन्यवाद, लेकिन यह jquery मोबाइल के लिए है। मैं jQuery मोबाइल का उपयोग नहीं कर रहा हूं (मेरी इच्छा है कि मैं कर सकता हूं :)) –

उत्तर

1

मैं अपने डिजाइन में परिवर्तन, न केवल यूआरएल वापस बटन की वजह से परिवर्तन यूआरएल के लिए सुनकर से थोड़ा अधिक बिट सभी सामग्री अद्यतन (आपके मामले में उत्पाद सूची) बदल सकते हैं और आप को गति प्रदान करने की सिफारिश करेंगे। तो क्लिक ईवेंट पर किसी भी पुन: प्रस्तुत करने की बजाय, इन बटनों को यूआरएल के नियमित लिंक होने दें जो आपकी सामग्री का प्रतिनिधित्व करते हैं और पॉपस्टेट ईवेंट से कार्यक्षमता को ट्रिगर करते हैं।

यह कैसे Angular.js की तरह सभी MVVM-चौखटे, रीढ़ आदि बनाया गया है और इस्तेमाल किया जा के लिए होती हैं है।

ऐसा करने से यह भी आप लंबे समय में आवेदन बनाए रखने के लिए के लिए बहुत बहुत आसान हो जाएगा।

शुभकामनाएं!

संबंधित मुद्दे