2012-02-05 18 views
5

उदाहरण के लिए, यदि कोई उपयोगकर्ता http://example.com पर है, तो उपयोगकर्ता http://example.com#comments पर जाता है। यदि उपयोगकर्ता अपने ब्राउज़र पर "बैक" पर क्लिक करता है, तो मैं उसे http://example.com "अनदेखा" कैसे कर सकता हूं और सीधे उस यूआरएल पर जा सकता हूं जिसे उसने पहले देखा था?ब्राउज़र को यूआरएल हैश को अनदेखा करते हैं जब बैक बटन क्लिक किया जाता है

मेरे पास jQuery लोड हो गया है।

+2

आप क्लिक कि उसके पास मिला ब्लॉक करने के लिए होगा '# comments' पहले स्थान पर, शायद 'preventDefault() 'का उपयोग कर और बजाय इसके बजाय स्क्रॉल करने के लिए jQuery का उपयोग करें। अन्यथा, यह सब सामान्य इतिहास का हिस्सा बन जाता है। – Sparky

उत्तर

9

इसके बजाय की तरह एक लिंक होने की:

<a href='#comments'>Link</a> 

उपयोग location.replace()http://example.com का रिकॉर्ड "के ऊपर लिख" करने के लिए ब्राउज़र के इतिहास में।

https://developer.mozilla.org/en/DOM/window.location

उदाहरण:

HTML:

<a id='commentsLink'>Link</a> 

जावास्क्रिप्ट:

$("#commentsLink").click(function(){ 
    window.location.replace("#comments"); 
}); 
+4

w3schools का उपयोग न करें ... http://w3fools.com ('window.location' पर जानकारी के लिए वैकल्पिक लिंक: https://developer.mozilla.org/en/DOM/window.location) –

+0

@Platinum Azure - जब मैंने लिंक पोस्ट किया तो वह मेरे दिमाग के पीछे था, लेकिन आलस्य मुझे सबसे अच्छा मिला। मुझे सीधे सेट करने के लिए धन्यवाद :) –

+1

वास्तव में इसे ठीक करने के लिए धन्यवाद। अपनी परेशानी के लिए +1 :-) –

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