जब कोई पृष्ठ # में समाप्त होने वाले यूआरएल के साथ आईफ्रेम लोड करता है, तो मूल पृष्ठ स्क्रॉल करता है ताकि आईफ़्रेम का शरीर ब्राउज़र विंडो के शीर्ष पर हो।ब्राउज़र विंडो को स्क्रॉल करने से एक आईफ्रेम में # एंकर को रोकें
डेमो: यूआरएल समाप्त होता है http://jsfiddle.net/dTQEE/1/
तो #
में, उदाहरण के लिए http://foo.com#
, ब्राउज़र मानता है कि आप पृष्ठ के शीर्ष पर जाना चाहते हैं।
हेश खंड के साथ आईफ्रेम लोड होने पर आप मूल विंडो को स्क्रॉल करने से कैसे रोकते हैं?
क्रोम में समस्या होती है, यह सुनिश्चित नहीं है कि यह अन्य ब्राउज़रों में कोई समस्या है या नहीं।
अभी सबसे अच्छा समाधान मैं el.addEventListener('scroll', ...)
का उपयोग करने के लिए 0 करने के लिए scrollTop
पुनर्स्थापित करने के लिए यदि वह पहले से 0. यह काम करता है नहीं है, लेकिन नीचे स्क्रॉल और स्क्रॉल ऊपर दोनों बहुत ध्यान देने योग्य हैं।
आप फ्रेम के लिए यूआरएल कैसे प्राप्त कर रहे हैं? क्या इसे लोड करने से पहले जांचना/संपादित करना संभव नहीं है? – sdleihssirhc
सुझाव के लिए धन्यवाद, लेकिन # प्राप्त करने वाली वेबसाइट के लिए # का कुछ महत्व हो सकता है। आईफ़्रेम के अंदर वाले पृष्ठ पर जेएस इसका उपयोग कर रहा है, इसलिए मैं इसे पूरी तरह से बंद नहीं कर सकता। –
क्या यह आपके लिए कभी हल किया गया था? –