क्वेरी स्ट्रिंग में परिवर्तन की परवाह किए बिना पिछले पृष्ठ पर वापस जाएं
मेरे पास एक खोज योग्य तालिका वाला एक पृष्ठ है। मैंने पिछले पृष्ठ पर वापस जाने के लिए "बैक" बटन लिखा है:
<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
)
मैं खोज बटन पर अपनी जावास्क्रिप्ट को कैसे लिख सकता हूं, ताकि वास्तविक पृष्ठ पर बैक बटन मिल सके?
जवाब
इसके बजाय 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(...)
, जब नेविगेशन को बैक क्लिक पर अनदेखा किया जाना चाहिए।
यहाँ उस विषय पर और अधिक पढ़ें: इतिहास धक्का और बदलने के बीच व्यापार बंद क्या है?