2011-08-11 14 views
8
  1. उपयोगकर्ता विज़िट पेज ए और कुछ बार क्लिक करता है, पेज-स्टेट को समायोजित करता है जैसे वह जाता है।
  2. पृष्ठ एक अंत में पृष्ठ B
  3. उपयोगकर्ता क्लिक करता है ब्राउज़र वापस बटन पर रीडायरेक्ट,

मैं कदम 3.ब्राउज़र-बैक-बटन के माध्यम से मैं उपयोगकर्ता आगमन-पर-पृष्ठ को कैसे प्रबंधित करूं?

कैसे पर कुछ इंटरफ़ेस क्लीन-अप करने की आवश्यकता ब्राउज़र में फिर से देखता है पृष्ठ एक क्या मैं पेज ए में इस घटना को कैप्चर करता हूं?

+2

यहां एक समान पोस्ट है जो jQuery और बैक-बटन का उपयोग करके कवर करता है: http://stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button –

उत्तर

1

संभवतः कुकी सेट करने के अलावा, आप ब्राउज़र सुरक्षा प्रतिबंध के कारण नहीं हो सकते हैं। चारों ओर एक काम यह जांचना होगा कि क्या उपयोगकर्ता पृष्ठ से दूर से ऑनबॉर्नलोड या ऑनलोड लोड के माध्यम से गुजरता है या नहीं।

1

क्या आपके परिदृश्य में यूआर हैश का उपयोग पेज बी पर नेविगेट करने और नए पेज को लोड करने के लिए AJAX और jQuery का उपयोग करना संभव होगा? इसलिए, ब्राउज़र वास्तव में पृष्ठ छोड़ नहीं रहा है। जब उपयोगकर्ता वापस नेविगेट करता है, तो वे सभी यूआरएल हैश को बदल देंगे। तुम तो hashchange घटना ले सकता है देखने के लिए अगर उपयोगकर्ता पेज ए को वापस नेविगेट है

+0

Connel, मुझे पसंद है विचार, लेकिन मुझे लगता है कि इस विधि के लिए हमारा वेब ऐप भारी वजन वाला होगा। यह एएसपी.नेट वेब फॉर्म –

+0

आह के साथ डॉटनेटनेट के भीतर एक ईकॉमर्स ऐप है, हालांकि हमेशा सुझाव के लायक है!क्या आपने पोस्ट में स्वीकृत उत्तर की कोशिश की है @Rionmonster ने सुझाव दिया? – Connell

+0

अभी तक, विश्लेषण करने के लिए कुछ समय चाहिए। यह आशाजनक लग रहा है –

1

मैं यह करने के लिए एक रास्ता है कि जावास्क्रिप्ट पर पूरी तरह से निर्भर नहीं है पेश करने के लिए कुछ मान्यताओं बनाने के लिए जा रहा हूँ:

  1. आपने टिप्पणियों में एक और जवाब के लिए नोट किया कि यह एक एएसपी.NET ऐप है। मैं यह मानने जा रहा हूं कि आप केवल बैक बटन की परवाह करते हैं जहां इसे आपके एएसपी.नेट ऐप में दूसरे पेज से दबाया जा रहा है।
  2. आप प्रश्न में दोनों पृष्ठों के लिए एएसपी.NET कोड-बैक में निष्पादित सर्वर-साइड कोड को नियंत्रित करते हैं और पृष्ठ के लिए इसे "वापस" करने की आवश्यकता होगी।

यदि दोनों स्थितियां सत्य हैं, तो आप Session variable का उपयोग करने में सक्षम होना चाहिए! वर्तमान पृष्ठ को सभी संबंधित पृष्ठों पर सत्र द्वारा बनाए गए currPage चर में सेट करें। फिर जब पृष्ठ लोड हो रहा है, तो उसे जांचें और पृष्ठ को सीधे दिखाए जाने के तरीके को समायोजित करने के लिए इसका उपयोग करें, या एक छिपे हुए फ़ील्ड/इनपुट/div पर एक मान लिखने के लिए, जिसे आपका जावास्क्रिप्ट पढ़ सकता है और उचित प्रतिक्रिया देने के लिए उपयोग कर सकता है।

यदि आप जेएस-रीड-एंड-निष्पादित मार्ग पर जाते हैं, तो आप लोड-टू-बैक-बटन के बाद सभी ब्राउज़रों पर ईवेंट को ठीक से आग लगाना सुनिश्चित करने के लिए परीक्षण करना चाहेंगे। जैसा कि the link from Rionmonster में बताया गया है, कभी-कभी ऑन-लोड ईवेंट बैक-बटन के बाद नहीं हो सकता है। यदि आप इससे मुद्दों को देखते हैं, तो इसके आसपास होने वाली युक्तियों का उपयोग करें।

इस प्रकार का समाधान किसी भी वेब-ऐप के लिए काम करना चाहिए जो सत्र-चर के साथ बातचीत करने में सक्षम सर्वर-साइड कोड को नियोजित करता है (उदाहरण के लिए यह PHP, पायथन और कई अन्य लोगों के लिए भी काम करेगा)।

नोट: एक मौका है कि यह उतना ही सुरुचिपूर्ण नहीं होगा जितना लगता है। बैक बटन दबाए जाने के बाद कई मामलों में ब्राउज़र वास्तव में सर्वर से ताजा पृष्ठ नहीं खींच सकता है। यदि परीक्षण यह एक मुद्दा होने का खुलासा करता है, तो आपको बैक बटन-प्रेस के बाद जेएस को ताजा जानकारी एकत्रित करने के लिए कुछ AJAX तकनीकों को नियोजित करने की आवश्यकता हो सकती है।

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

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