Daniel F Pupius पर स्क्रॉल के रूप में समस्या का वर्णन किया:Ember.js इतिहास पर पुस्तक बहाल, रीसेट लिंक
साइटों बहुत से यह गलत हो जाते हैं और यह वास्तव में कष्टप्रद है। जब उपयोगकर्ता ब्राउज़र के आगे या पीछे बटन का उपयोग करके नेविगेट करता है तो स्क्रॉल स्थिति वही होनी चाहिए जैसा कि पिछली बार वे पृष्ठ पर थे। यह कभी-कभी फेसबुक पर सही तरीके से काम करता है लेकिन कभी-कभी नहीं करता है। Google+ हमेशा आपकी स्क्रॉल स्थिति खो देता प्रतीत होता है।
तो नए पृष्ठ पर ब्राउज़ करते समय पृष्ठ के शीर्ष पर स्क्रॉल को रीसेट करने के बारे में पहले से ही कई प्रश्न हैं। Ember.js के भी shows how to hook into Route.activate
कुकबुक:
export default Ember.Mixin.create({
activate: function() {
this._super();
window.scrollTo(0,0);
}
});
हालांकि यह केवल हल समस्या को आधा। जब उपयोगकर्ता बैक/फॉरवर्ड बटन का उपयोग करता है, तो स्क्रॉल स्थिति पुनर्स्थापित नहीं की जाएगी, लेकिन बस रीसेट करें।
Ember.Controller
उदाहरण के अंदर स्क्रॉल स्थिति को संग्रहीत करके कई को हल करने में बहुत सारे प्रयास हैं, उदाहरण के लिए इस article में। हालांकि यह केवल आंशिक समाधान है। यदि नियंत्रक को कई बार उपयोग किया जाता है, तो केवल एक ही स्क्रॉल स्थिति संरक्षित की जाएगी।
पुरानी स्क्रॉल स्थिति को पुनर्स्थापित करने का डिफ़ॉल्ट ब्राउज़र कार्यान्वयन कैसे संरक्षित किया जा सकता है? इस प्रकार, कुछ भी नहीं करें अगर Route.activate
एचटीएमएल 5 इतिहास राज्य परिवर्तन से ट्रिगर किया गया था?
मुझे लगता है कि नियंत्रक को दो बार दौरा किया गया था, तो मुझे दो अलग-अलग स्क्रॉल स्थितियों को याद नहीं होगा? – bouke
यह मिश्रण मार्ग पर लागू होता है, नियंत्रक नहीं। जब आप मार्ग छोड़ते हैं तो स्क्रॉल स्थिति को याद किया जाता है ('निष्क्रिय करें' अनुभाग देखें), फिर वापस आने पर इसे पुनर्स्थापित करता है। – JeremyTM