क्वेरी स्ट्रिंग में परिवर्तन की परवाह किए बिना पिछले पृष्ठ पर वापस जाएं

Aug 17 2020

मेरे पास एक खोज योग्य तालिका वाला एक पृष्ठ है। मैंने पिछले पृष्ठ पर वापस जाने के लिए "बैक" बटन लिखा है:

<a href="javascript:history.back()">Back</a>

उदाहरण के लिए, मेरे होमपेज का URL है:

https://xxxxxx.com

मैं अपने होमपेज (या किसी अन्य पेज) से खोजा तालिका के साथ पृष्ठ दर्ज करता हूं :

https://xxxxxx.com/data

जब मैं किसी खोज को सुधारता हूं, तो URL बन जाता है:

https://xxxxxx.com/data?search=*sth*

जब मैं "बैक" बटन दबाता हूं, तो URL बन जाता है:

https://xxxxxx.com/data

मैं वास्तव में क्या चाहता हूं:

https://xxxxxx.com/

(या पृष्ठ जहां उपयोगकर्ता पहले आता है /data)


मैं खोज बटन पर अपनी जावास्क्रिप्ट को कैसे लिख सकता हूं, ताकि वास्तविक पृष्ठ पर बैक बटन मिल सके?

जवाब

3 MauriceNino Aug 17 2020 at 15:36

इसके बजाय history.back(), जो केवल एक ही बार वापस जाता है, आप कर सकते हैं window.location.replace(window.location.host), जो रूट पेज को लोड करता है।

अधिक जानकारी प्राप्त करने के लिए window.location:https://developer.mozilla.org/en-US/docs/Web/API/Window/location

संपादित करें:

यदि आप URL पैरामीटर को अनदेखा करना चाहते हैं, तो आपको यह बदलने की आवश्यकता है कि आप दूसरे पृष्ठ पर कैसे जाते हैं।

इसके बजाय window.history.pushState(...), आपको उपयोग करना चाहिए window.history.replaceState(...), जब नेविगेशन को बैक क्लिक पर अनदेखा किया जाना चाहिए।

यहाँ उस विषय पर और अधिक पढ़ें: इतिहास धक्का और बदलने के बीच व्यापार बंद क्या है?