क्या व्यवहार को अक्षम करने का कोई तरीका है जहां कुछ आधुनिक ब्राउज़रों (क्रोम और सफारी) को पृष्ठ पर रीफ्रेश पर आपकी स्क्रॉल स्थिति याद है?पेज रीफ्रेश करने के बाद ब्रॉवर के ऑटो स्क्रॉल को अक्षम करें?
उत्तर
ब्राउज़रों कि history.scrollRestoration समर्थन के लिए, ऑटो स्क्रॉल व्यवहार बंद किया जा सकता:
if ('scrollRestoration' in history) {
history.scrollRestoration = 'manual';
}
स्रोत: https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration
चूंकि यह अभी भी एक प्रयोगात्मक संपत्ति है, क्या किसी को ब्राउज़र समर्थन पता है? –
सिर्फ क्रोम के लिए नहीं, लेकिन सभी के लिए मुझे लगता है कि यह अच्छी तरह से काम करेगा।
window.onload = function() {
window.scrollTo(0, 0);
};
अपने प्रश्न का अद्यतन करने के बाद:
मैं इसके बेहतर अगर हम कुछ कुकीज़ या सत्र संग्रहण का उपयोग लगता है।
यह मेरा विचार भी था - लेकिन मुझे इस तरह के कॉलबैक के साथ कोई भाग्य नहीं है - ऐसा लगता है जैसे क्रोम ऑनलोड आग के बाद ऑटो-स्क्रॉल करता है। – Anthony
क्या आपने दस्तावेज़ तैयार होने के बाद इसे फायर करने का प्रयास किया है?
$(document).ready(function(){
window.scrollTo(0, 0);
});
है कि अगर काम नहीं करता है ...
$(document).ready(function(){
setTimeout(function(){
window.scrollTo(0, 0);
}, 1);
});
जो एक setTimout उम्मीद की
इसके बजाय कॉल ढेर के नीचे करने के लिए इस धक्का होगा ढेर के नीचे समाप्त होता है - मैं इसे लागू करता हूं कि हम उस स्क्रॉल स्थिति को हिट करते हैं जिसे हम चाहते हैं। मैं अभी भी यह एक हैक मानता हूं, मैं किसी प्रकार की ब्राउज़र घटना की उम्मीद कर रहा था जिसे हम बांधते हैं।
var scrollToYPos = 100;
var interval = setInterval(checkPos, 0);
function checkPos() {
if ($(window).scrollTop() == scrollToYPos) {
clearInterval(interval);
} else {
window.scrollTo(0, scrollToYPos);
checkPos();
}
}
मुझे इस समस्या का सामना करना पड़ा। यहाँ बुनियादी समाधान मैं के साथ आया है:
// scroll the user to the comments section if we need to
wt = win.scrollTop();
wb = wt + win.height();
// if scroll position is 0, do this (it's a fresh user), otherwise
// the browser is likely to resume the user's scroll position, in
// which case we don't want to do this
yab.loaded().done(function() {
// it seems that browsers (consistently) set the scroll position after
// page load. Accordingly wait a 1/4 second (I haven't tested this to the lowest
// possible timeout) before triggering our logic
setTimeout(function() {
// if the window top is 0, scroll the user, otherwise the browser restored
// the users scroll position (I realize this fails if the users scroll position was 0)
if(wt === 0) {
p = self.container.offset().top;
if(wb != p) {
win.scrollTop(p - th - 20);
}
}
}, 250);
});
ओह और 'yab.loaded' एक वादा है जिसे खिड़की लोड होने के बाद हल किया जाता है। '$ (विंडो) .load (function() {// ...}) के बराबर;' – Skone
मुझे लगता है कि सबसे आसान तरीका है एक रीलोड यह सोचता है कि एक नया पृष्ठ है में ब्राउज़र चाल करने के लिए किया जाएगा।
window.location = window.location
मेरे द्वारा परीक्षण किए गए सभी ब्राउज़रों में लगातार काम करता है। मैं व्यक्तिगत रूप से ऑनलोड कॉलबैक से दूर रहूंगा क्योंकि वे लोड के दौरान कूद सकते हैं जो बहुत ही आकर्षक नहीं हैं।
- 1. ऑटो पेज रीफ्रेश पर RadPanelBar स्क्रॉल
- 2. ऑटो रीफ्रेश वेब पेज
- 3. पेज रीफ्रेश करने के बाद jquery
- 4. पेज रीफ्रेश करें और स्क्रॉल स्थिति रखें
- 5. एएसपी.नेट पेज के ऑटो डेटा बाइंड को कैसे अक्षम करें?
- 6. एंड्रॉइड: एक निश्चित समय के बाद "ऑटो रीफ्रेश करें"
- 7. परिवर्तन के बाद jQuery मोबाइल रीफ्रेश पेज पेज
- 8. शेर पर रीफ्रेश करने के लिए स्क्रॉल करें
- 9. स्क्रॉल के फ़्लिंग को अक्षम करने के लिए कैसे करें
- 10. रीफ्रेश टोकन रीफ्रेश के बाद डेटा रीफ्रेश कैसे करें jwt
- 11. सीडीआई/वेल्ड - वार्तालाप समाप्त करने के बाद ब्राउज़र पेज को रीफ्रेश कैसे करें?
- 12. iframe में सबमिट करने के बाद iframe पैरेंट पेज को रीफ्रेश कैसे करें?
- 13. ट्विटर बूटस्ट्रैप स्क्रॉल करने के बाद नेविबार को ठीक करें
- 14. तैनाती के बाद फोर्स कैश रीफ्रेश करें
- 15. सेवावर्कर अद्यतन के बाद पृष्ठ को रीफ्रेश कैसे करें?
- 16. डेटा संपादित करने के बाद डेटाग्रिड रीफ्रेश करें
- 17. लॉगिन के बाद JSESSIONID कुकी को रीफ्रेश करने के लिए कैसे करें
- 18. पुल-टू-रीफ्रेश को अक्षम करें
- 19. एक क्लिक के बाद एक सबमिट बटन को अक्षम करने
- 20. एंड्रॉइड स्वाइप रीफ्रेश लेआउट स्क्रॉल करने के लिए
- 21. स्क्रॉल करने के बाद टेक्स्ट बदलें
- 22. जावास्क्रिप्ट पेज को फिर से लोड करें
- 23. स्थानीय विकास में कोणीय 2 धीमी ऑटो पेज रीफ्रेश - विंडोज
- 24. कमांड विंडो में ऑटो-स्क्रॉलिंग अक्षम करें
- 25. नए घटक जोड़ने के बाद जेएफआरएएम को रीफ्रेश करें
- 26. क्रोम बैक बटन पेज रीफ्रेश करें - एएसपीनेट
- 27. पेज रीफ्रेश के बिना AJAX अनुरोध भेजने बंद करें
- 28. ऑटो संरेखण को अक्षम कैसे करें?
- 29. मोबाइलसाफरी ऑटो-चयन को अक्षम कैसे करें?
- 30. रिमोट के साथ रेल लिंक लिंक: पेज रीफ्रेश के बाद जेएस के बजाय वास्तविक प्रोसेसिंग एचटीएमएल
क्यों आपको लगता है कि क्या करना चाहते हैं? यह उस स्थिति पर वापस जाने के लिए अच्छा उपयोगकर्ता अनुभव है। – putvande
@putvande अधिकांश मामलों में 100% सहमत हैं, लेकिन एक उपयोग केस तब होगा जब डेटा की बड़ी तालिका शीर्ष पर नई डेटा जोड़ती है, और हालांकि यदि उपयोगकर्ता किसी भी कारण से रीफ्रेश करता है, तो हम डेटा को गतिशील रूप से अपडेट कर सकते हैं, हम नहीं करते हैं उन्हें वापस अपनी पुरानी स्क्रॉल स्थिति में नहीं ले जाना चाहते हैं। यह इस अनुभव को देखते हुए उनके परिप्रेक्ष्य से अपेक्षित व्यवहार नहीं है - यह भी केवल 1 उपयोग का मामला है, ऐसे कुछ भी मौजूद हैं जो मौजूद हैं। – Anthony
कोई भी पृष्ठ जो लोडिंग अनुभव के लिए अनंत स्क्रॉल का उपयोग करता है, इसमें यह (अप्रत्याशित) समस्या होगी। –