वर्तमान पृष्ठ को पुनः लोड करने के लिए लिंक


175

क्या वर्तमान स्थान की ओर इशारा करते हुए सामान्य लिंक होना संभव है?

मुझे वर्तमान में 2 समाधान मिल गए हैं, लेकिन उनमें से एक में जावास्क्रिप्ट शामिल है और दूसरे में आपको पृष्ठ का संपूर्ण मार्ग जानना होगा:

<a href="#" onclick="window.location.reload(true);">1</a>
<a href="/foobar/">2</a>
<a href="#">3 (of course not working)</a>

जावास्क्रिप्ट का उपयोग किए बिना या निरपेक्ष पथ को जानने के बिना क्या ऐसा करने का कोई तरीका है?

जवाबों:


198

मैं उपयोग कर रहा हूं:

<a href=".">link</a>

अभी तक एक मामला और / या ब्राउज़र नहीं मिला है जहाँ यह काम नहीं करता है।

काल का अर्थ है वर्तमान पथ। ..उदाहरण के लिए, यदि आपके पास यह फ़ाइल संरचना है, तो आप वर्तमान पथ के ऊपर फ़ोल्डर को संदर्भित करने के लिए भी उपयोग कर सकते हैं :

page1.html
folder1
    page2.html

आप तब page2.htmlलिख सकते हैं :

<a href="../page1.html">link to page 1</a>

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

मुझे यकीन है कि अगर व्यवहार बदल गया है नहीं कर रहा हूँ या अगर यह इस तरह हमेशा था, लेकिन के रूप में के बारे में जैसा कि ऊपर वर्णित क्रोम (और शायद अन्य) अवधि के व्यवहार करेगा निर्देशिका , फ़ाइलें नहीं। इसका मतलब है कि आप कर रहे हैं, तो http://example.com/foo/bar.htmlआप निर्देशिका में वास्तव में कर रहे हैं /foo/और एक hrefके मान .में bar.htmlसंदर्भित करेंगे /foo/बजायbar.html

एक टर्मिनल में फ़ाइल सिस्टम को नेविगेट करने के रूप में सोचो; आप कभी cdकिसी फाइल में नहीं जा सकते :)

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

ऐसा लगता है कि उपयोग करने href="."का व्यवहार अब पूर्वानुमेय नहीं है, फ़ायरफ़ॉक्स और क्रोम दोनों बदल गए होंगे कि वे इनको कैसे संभालते हैं। मैं अपने मूल उत्तर पर पूरी तरह से भरोसा नहीं करूंगा, बल्कि अपने विशिष्ट उपयोग के लिए खाली स्ट्रिंग और अलग-अलग ब्राउज़रों में अवधि दोनों का प्रयास करूंगा और सुनिश्चित करूंगा कि आपको वांछित व्यवहार मिले।


25
यह ध्यान दिया जाना चाहिए कि जीईटी डेटा इस पद्धति के साथ संरक्षित नहीं है, इसे "हार्ड लोड" पर विचार करें। खाली href मान का उपयोग GET डेटा को संरक्षित करेगा, लेकिन हैश मान (जैसे #these)। # का उपयोग कर? जैसे ही href मान नए URL में "कचरा" जोड़ेगा। मैंने पाया है कि पुनः लोड प्राप्त करने के लिए पीरियड का उपयोग करना सबसे साफ तरीका है।
मार्कस अमलथिया मैग्नसन

5
मैक क्रोम पर यह तकनीक मेरे लिए काम नहीं कर रही है। हालांकि "का उपयोग कर।" ahor के रूप में, यह व्यवहार करता है जैसे कि ".." और मूल पृष्ठ से लिंक करता है। उदा / व्यवस्थापक / सामान बन जाता है / व्यवस्थापक। इस व्यवहार को देखकर कोई और?
ज़ैक

3
यह समाधान गलत है। इसके अलावा क्रोम काम नहीं करता है और मूल निर्देशिका की ओर इशारा करता है। आपको खाली href का उपयोग करना चाहिए क्योंकि @MarkusAmaltheaMagnuson का सुझाव है
coorasse

8
यह केवल तभी काम करता है जब URL का पथ घटक एक के साथ समाप्त हो जाए /
कोस

6
आज तक, यह फ़ायरफ़ॉक्स या क्रोम में काम नहीं करता है। दोनों ब्राउज़र href = "का उपयोग करके मूल निर्देशिका (वर्तमान पृष्ठ नहीं) का संदर्भ देते हैं।"
ज्यूबटरे

135

अन्य उत्तरों में से कोई भी किसी भी क्वैरिस्ट्रिंग मूल्यों को नहीं छोड़ेगा। प्रयत्न

<a href="javascript:window.location.href=window.location.href">

बेशक यह जावास्क्रिप्ट शामिल है, लेकिन जब तक कि आपके उपयोगकर्ताओं को स्क्रिप्ट अक्षम नहीं किया जाता है, यह बहुत सीधा है।


5
मेरे (Google Chrome 32) के लिए काम नहीं करता है। मैं <a href="javascript:location.reload()">"> </a>
गेब्रियल

3
मैं Google Chrome 36.0.1985 और जावास्क्रिप्ट का उपयोग कर रहा हूं: window.location.href = window.location.href काम करता है। यदि वे फ़ायरफ़ॉक्स में पेज को रिफ्रेश करना चाहते हैं तो लोकर प्रेट्र () का दुर्भाग्यपूर्ण प्रभाव पड़ता है और परिदृश्य के आधार पर वांछित परिणाम प्रदान नहीं किया जा सकता है। अधिक चर्चा के लिए stackoverflow.com/questions/2405117/… देखें ।
साइमन मोलॉय जुएल

1
मैं राउटर के साथ कोणीय का उपयोग कर रहा हूं। इसने मेरे लिए काम नहीं किया। हालाँकि, यह काम करता है -> <a href="javascript:"> click me </a>
जॉन हेंकेल

यदि js अक्षम है तो क्या होगा?

5
यह समाधान लंगर को संरक्षित नहीं करता है
thomas.winckell

77

जावास्क्रिप्ट का उपयोग करने का एक तरीका:

<a href="javascript:window.location.reload(true)">Reload</a>

4
क्वेरिस्ट्रस और एंकर ( ?query=string#anchor) को संरक्षित करता है । महान!
एनालॉग-निको

मैंने इस उत्तर का उपयोग करते हुए समाप्त कर दिया क्योंकि स्क्रॉल स्थिति भी बरकरार है। उपयोगी है यदि आप एक छद्म "पूर्ववत करें" बटन के रूप में पुनः लोड का उपयोग कर रहे हैं।
इग्नायूसर

रिएक्टर क्लाइंट पर यह शोक काम करता है
एंड्रियस

क्या आप इसे html सिंटैक्स में उपयोग करने के बारे में विस्तार से बता सकते हैं?
जोआना मिकलाई

मेरे पास एक सवाल है, trueक्या पैरामीटर वास्तव में है जो आपको window.location.reloadविधि का उपयोग करते समय इस समस्या के लिए जाना चाहिए ? यह इसे एक कठिन रिफ्रेश बना देगा, जो कैश से खींचने से बचता है, जो कि कुछ परिस्थितियों में आप चाहते हैं, लेकिन मुझे लगता है कि ज्यादातर परिस्थितियों में आप कैश का लाभ उठाना चाहेंगे, क्या आप नहीं करेंगे?
स्टीफन एम इरविंग

31

आप ऐसा कर सकते हैं: <a href="">This page</a>

लेकिन मुझे नहीं लगता कि यह GET और POST डेटा को संरक्षित करता है।


3
दुर्भाग्य से, यह IE में काम नहीं करता है। से: msdn.microsoft.com/en-us/library/cc848861%28v=vs.85%29.aspx - यदि HREF को रिक्त मान (href = "" या href =) के रूप में निर्दिष्ट किया जाता है, तो लिंक को निष्पादित करना प्रदर्शित हो सकता है। वर्तमान दस्तावेज़ वाली निर्देशिका, या यह दस्तावेज़ और सर्वर वातावरण में अन्य तत्वों के आधार पर एक त्रुटि उत्पन्न कर सकती है।
बोहादान लेज़नेट्स

12
<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>">Click me</a>

12
मैं PHP का उपयोग नहीं कर रहा हूँ।
टाइइलो

3
-1 को नोट किया गया, आपके मामले में समाधान नहीं हो सकता है (क्योंकि यह एक php समाधान है) लेकिन मुझे लगता है कि यह यहाँ का सबसे साफ समाधान है। यह becouse यह href विशेषता को एक मान्य मान देता है, यह सबसे साफ है। यदि संभव हो तो जावास्क्रिप्ट से बचें। तो +1।
रोफवडेका

बहुत मददगार ty। यह अंगूठा नीचे क्यों हो रहा है? मूल प्रश्न में js का उल्लेख नहीं है और q के अधिकांश संदर्भ यहाँ JS ...
एंड्रयू

@ और मूल प्रश्न को #html और #hyperlink के साथ टैग किया गया है। हालांकि, "वर्तमान स्थान की ओर इशारा करते हुए एक सामान्य लिंक" एक अविश्वसनीय रूप से अस्पष्ट विवरण है, मुझे पूरा यकीन है कि इसे क्लाइंट-साइड-केवल समाधान की मांग के रूप में यथोचित व्याख्या की जा सकती है। एक एंकर, जहां href को PHP द्वारा पॉप्युलेट किया जाता है, किसी भी स्ट्रेच द्वारा "सामान्य लिंक" नहीं है, यह PHP कोड है।
स्थानिक

@endemic सुझाव देना जावास्क्रिप्ट "सामान्य" है और php एक व्यर्थ राय नहीं है। ओपी वास्तव में सामान्य को परिभाषित करता है जैसे कि जावास्क्रिप्ट शामिल नहीं है, और एक पूर्ण पथ का उपयोग नहीं कर रहा है। दिलचस्प रूप से पर्याप्त अधिकांश उत्तर जावास्क्रिप्ट में हैं।
एंड्रयू

10

वर्तमान पृष्ठ को पुनः लोड / ताज़ा करने के लिए इसका उपयोग करें

<a href="#" onclick="window.location.reload(true);">

या उपयोग करें

<a href="">refresh</a>


7

<a href="https://stackoverflow.com/">Clicking me refreshes the page</a>

<a href="?">Click Me To Reload the page</a>


3
यह केवल तभी काम करता है जब आप index.html या अन्य रूट doc / url पर हों
Stephen

@ निश्चित रूप से। आप बिल्कुल सही हैं। जाहिरा तौर पर मैं जितना सोचा था उससे कहीं ज्यादा गंवार हूं। मैं बस यह वास्तव में तेजी से परीक्षण किया और रूट पर हुआ।
थॉमस शील्ड

बहुत अच्छी तरह से काम करता है जब यूआरएल उदाहरण के लिए है। / ब्लाब्लाब्ला जबकि मुझे वापस मूल में लाएगा।
ऑगस्टिन रिडिंगर

6

दुर्भाग्य से केवल HTML के साथ ऐसा करने का कोई वैश्विक तरीका नहीं है। आप ऐसा करने की कोशिश कर सकते हैं <a href="">test</a>लेकिन यह केवल कुछ ब्राउज़रों में काम करता है।


यह IE में काम नहीं करता है। से: msdn.microsoft.com/en-us/library/cc848861%28v=vs.85%29.aspx - यदि HREF को रिक्त मान (href = "" या href =) के रूप में निर्दिष्ट किया जाता है, तो लिंक को निष्पादित करना प्रदर्शित हो सकता है। वर्तमान दस्तावेज़ वाली निर्देशिका, या यह दस्तावेज़ और सर्वर वातावरण में अन्य तत्वों के आधार पर एक त्रुटि उत्पन्न कर सकती है।
बोहादान लेज़नेट्स

1
मैंने परीक्षण किया और यह सभी प्रमुख आधुनिक ब्राउज़रों (क्रोम, फ़ायरफ़ॉक्स, एज, ओपेरा, सफारी) में काम करता है
डोनाल्ड डक

5

पथ, मापदंडों और लंगर को संरक्षित करने वाले पूरी तरह से बेकार url।

 <a href="javascript:"> click me </a>

यह केवल JS के छोटे छोटे उपयोग करता है।

संपादित करें: यह पृष्ठ को पुनः लोड नहीं करता है। यह एक कड़ी है जो कुछ भी नहीं करता है।


@FranciscoCorralesMorales, क्षमा करें, लेकिन मुझे लगता है कि मुझे सवाल गलत लगा। मैंने सोचा था कि ओपी एक लिंक बनाने की कोशिश कर रहा था जो कुछ भी नहीं करता है। लेकिन अब मैं देखता हूं कि ओपी एक लिंक चाहता है जो वर्तमान पृष्ठ को फिर से लोड करेगा। (मैं संपादित करूँगा)।
जॉन हेन्केल

इस कोड स्निपेट के लिए धन्यवाद, जो कुछ तत्काल सहायता प्रदान कर सकता है। एक उचित व्याख्या यह दर्शाती है कि यह समस्या का एक अच्छा समाधान क्यों है, यह दिखाते हुए इसके शैक्षिक मूल्य में बहुत सुधार करेगा , और यह भविष्य के पाठकों के लिए समान रूप से उपयोगी होगा, लेकिन समान नहीं, प्रश्न। कृपया स्पष्टीकरण जोड़ने के लिए अपना उत्तर संपादित करें, और इस बात का संकेत दें कि क्या सीमाएँ और मान्यताएँ लागू होती हैं।
टोबी स्पाइट

3

इसे इस्तेमाल करे

<a href="javascript:window.location.href=window.location.href">

और तुम कहाँ # डालते हो
फ्लोयू। SimpleUITesting.com 11

@ iOSCalendarpatchthecode.com यू # क्यों डालना चाहते हैं ?? यह पुनः लोड पृष्ठ के लिए है।
लव कुमार

मेरी टिप्पणी को नजरअंदाज करें। मैंने भूल की।
फ्लोयू। SimpleUITesting.com

2

जबकि स्वीकृत उत्तर IE9 में मेरे लिए काम नहीं करता था, यह किया:

<a href="?">link</a>

1
मुझे नहीं लगता कि अगर आप मापदंडों को संरक्षित करने में रुचि रखते हैं तो यह काम करेगा।
WynandB

1
@WynandB सही है। यह सभी GET और POST मापदंडों को मिटा देगा। यदि वह है जो आप चाहते हैं, या यदि आप परवाह नहीं करते हैं, तो यह चाल बहुत अच्छा काम करती है, हालांकि।
हैंश्रैनिक

2

एक और उपाय

<a href="javascript:history.go(0)">Reload</a>

अच्छा समाधान! उस विधि के लिए एक छोटा सा टिप 0 डिफ़ॉल्ट पैरामीटर है, इसलिए यदि आप पुनः लोड करने का प्रयास कर रहे हैं, तो आप बस लिख सकते हैं: history.go()बिना किसी तर्क के।
स्टीफन एम इरविंग

2
<a href="">Refresh!</a>

href=""खाली छोड़ दें और यह पृष्ठ को ताज़ा कर देगा।
अगर फॉर्म का उपयोग करके कुछ जानकारी पास की जाती है तो भी काम करता है।


0

मैं JS को केवल jekyll साइट के टैग पृष्ठ में एक विशिष्ट आईडी के साथ div दिखाने के लिए उपयोग करता हूं। उसी पृष्ठ के लिंक के साथ, आप संबंधित तत्व दिखाते हैं:

function hide_others() {
    $('div.item').hide();
    selected = location.hash.slice(1);
    if (selected) {
        $('#' + selected).show();
    }
    else {
    $('div.item').show();
    }
}

लिंक जैसे लिंक का उपयोग करें:

<a href="javascript:window.location.href='/tags.html#{{ tag[0] }}-ref'; hide_others()">{{ tag[0] }}</a>

0

आप एक ही URL पर POST करने के लिए एक फॉर्म का उपयोग कर सकते हैं।

 <form  method="POST" name="refresh" id="refresh">
 <input type="submit" value="Refresh" />
 </form>

यह आपको एक बटन देता है जो वर्तमान पृष्ठ को ताज़ा करता है। यह थोड़ा कष्टप्रद है क्योंकि यदि उपयोगकर्ता ब्राउज़र ताज़ा बटन दबाता है, तो उन्हें एक do you want to resubmit the formसंदेश मिलेगा ।


0

मैं इस समस्या को हल करने के लिए HTML का उपयोग कर रहा हूँ
:

<a href="page1.html"> Link </a>

* page1.html -> उस फ़ाइल का नाम टाइप करें जिस पर आप काम कर रहे हैं (आपकी वर्तमान HTML फ़ाइल)


कृपया पोस्ट को संपादित करें। यह स्पष्ट नहीं है कि आप किस प्रोग्रामिंग भाषा का उपयोग कर रहे हैं, आपने कोड को कैसे लागू करने की कोशिश की और आगे।
रूही अनुरा

मैंने इस कार्य को करने के लिए HTML का उपयोग किया है ।
आयुष कुमार

-1
<a href="/">Same domain, just like refresh</a>

यदि आपकी वेबसाइट index.html, index.htm या index.php (कोई भी डिफ़ॉल्ट पृष्ठ) है तो ही काम करने लगता है।

लेकिन ऐसा लगता है कि .यह एक ही बात है और अधिक स्वीकृत है

<a href=".">Same domain, just like refresh, (more used)</a>

जब दोनों डोमेन http://और क्रोम दोनों क्रोम पर काम करते हैंhttps://


-2

<a href="https://stackoverflow.com/home" target="_self">Reload the page</a>


समस्या यह है कि अगर हम url को नहीं जानते ... लक्ष्य = "_ आत्म" को
हटा दिया

-3

यदि आप php / smarty टेम्प्लेट का उपयोग कर रहे हैं, तो यू कुछ ऐसा कर सकता है:

<a href="{{$smarty.server.REQUEST_URI}}{if $smarty.server.REQUEST_URI|strstr:"?"}&{else}?{/if}newItem=1">Add New Item</a>

-4

बस लक्ष्य = "_ रिक्त" जोड़ें और लिंक मूल पृष्ठ रखते हुए एक नया पृष्ठ खोलेगा।


जैसा कि आप कहते हैं, यह केवल hrefएक नई विंडो / टैब में विशेषता में जो भी पृष्ठ निर्दिष्ट किया गया है, वह खुल जाएगा । यह किसी भी तरह से वास्तविक प्रश्न का उत्तर नहीं देता है।
फिलिप स्ट्रैटफ़ोर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.