निश्चित समय के बाद वेबसाइट पुनर्निर्देशित करें


135

मुझे एक वेबसाइट पर एक फ़ंक्शन करने के लिए क्या करना होगा जहां यह कहता है कि यह आपको साइट पर 3 सेकंड या इतने पर रीडायरेक्ट करेगा?



मैं बस उत्सुक हूं, आप कभी ऐसा क्यों करना चाहेंगे? जब भी मैं इस तरह के पृष्ठ पर जाता हूं, मुझे 0 सेकंड में निर्देशित किया जाता है।
Allesklar

@allesklar देर से जवाब के लिए खेद है। मैं एक साइट के विकास में हूं, और मैं यह देखना चाहता था कि क्या कोड एडिटर से वेब ब्राउजर पर स्विच करने के लिए हर बार ताज़ा किए बिना आसान था।
कोडेडुड

यह जेएस रीडायरेक्ट जेनरेटर आपको विलंबित रीडायरेक्ट स्निपेट बनाने में आसानी से मदद करेगा। इसमें एक noscript और seo सपोर्ट है, साथ ही इसमें IE 8 - और लोअर - http रेफर पास करने के लिए फिक्स है!
पेट्रिक्स मिलन

1
@allesklar इसका उपयोग करने के लिए एक उदाहरण है। यदि आप अपना डोमेन बदलते हैं और चाहते हैं कि पहले महीने में सभी को नए डोमेन पर पुनर्निर्देशित किया जाए (लेकिन उन्हें यह बता दें कि पुराने डोमेन को एक या एक महीने के बाद हटा दिया जाएगा)। क्योंकि भले ही आप भेजते हों और ईमेल करते हों लेकिन हमेशा कोई न कोई ऐसा व्यक्ति होता है जो भूल जाता है और पुराने डोमेन पर चला जाता है।
पेट्रीसिया

जवाबों:


209
<meta http-equiv="refresh" content="3;url=http://www.google.com/" />

या बस रूट पर पुनर्निर्देशित करें यदि आपके पास <meta http-equiv = "ताज़ा" सामग्री = "3; url = /" />
DJSampat

1
W3C इस टैग का उपयोग नहीं करने की सलाह देता है: w3.org/TR/WCAG10-HTML-TECHS/#meta-element
huseyin39

69

आप शायद meta refreshटैग ढूंढ रहे हैं :

<html>
    <head>
        <meta http-equiv="refresh" content="3;url=http://www.somewhere.com/" />
    </head>
    <body>
        <h1>Redirecting in 3 seconds...</h1>
    </body>
</html>

ध्यान दें कि meta refreshइन दिनों का उपयोग पदावनत और फेंका हुआ है, लेकिन कभी-कभी यह एकमात्र व्यवहार्य विकल्प होता है (उदाहरण के लिए, यदि आप HTTP-रीडायरेक्ट हेडर के सर्वर-साइड जनरेशन करने में असमर्थ हैं और / या आपको गैर-जावास्क्रिप्ट क्लाइंट आदि का समर्थन करने की आवश्यकता है) )।


52

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

यहाँ एक बहुत ही बुनियादी तरीका है setTimeout()

<html>
    <body>
    <p>You will be redirected in 3 seconds</p>
    <script>
        var timer = setTimeout(function() {
            window.location='http://example.com'
        }, 3000);
    </script>
</body>
</html>


यदि आप पाठ को गतिशील रूप से 0 तक पुनर्निर्देशित करना चाहते हैं तो जाने का यह तरीका होगा। 1 सेकंड के टाइमर का उपयोग करें, जहां टाइमर फ़ंक्शन HTML पाठ को अपडेट करता है और फिर एक नया 1 सेकंड का टाइमर शुरू करता है, जब तक कि 3 सेकंड बीत चुके हैं, तब रीडायरेक्ट करें।
रेमी लेबेउ

19

यहां एक काउंटर डीवा को अपडेट करते हुए, एक्स सेकंड के बाद पुनर्निर्देशित करने का एक पूर्ण (अभी तक सरल) उदाहरण दिया गया है:

<html>
<body>
    <div id="counter">5</div>
    <script>
        setInterval(function() {
            var div = document.querySelector("#counter");
            var count = div.textContent * 1 - 1;
            div.textContent = count;
            if (count <= 0) {
                window.location.replace("https://example.com");
            }
        }, 1000);
    </script>
</body>
</html>

counterDiv की प्रारंभिक सामग्री प्रतीक्षा करने के लिए सेकंड की संख्या है।


यह जब तक मैं प्रतिस्थापित काम नहीं किया location.href="https://example.com";साथwindow.location='https://example.com'
NateH06

1
window.location.replace("http://example.com");यहां चर्चा किए गए कारणों के लिए उपयोग करना बेहतर हो सकता है: stackoverflow.com/a/506004 परिवर्तन इस उत्तर को अधिक व्यापकता प्रदान करेगा।
मानस


4

अपने HTML कोड के टैग और टैग के बीच निम्न HTML रीडायरेक्ट कोड रखें।

<meta HTTP-EQUIV="REFRESH" content="3; url=http://www.yourdomain.com/index.html">

उपरोक्त HTML रीडायरेक्ट कोड आपके आगंतुकों को तुरंत किसी अन्य वेब पेज पर रीडायरेक्ट करेगा। सामग्री = "3; आप कितने सेकंड के लिए ब्राउज़र को पुनर्निर्देशन से पहले प्रतीक्षा करना चाहते हैं, 4 में बदला जा सकता है। 4, 5, 8, 10 या 15 सेकंड, आदि।


1

समय के विशिष्ट अंतराल का उपयोग करके किसी अन्य पृष्ठ पर पुनर्निर्देशित करने के लिए इस सरल जावास्क्रिप्ट कोड का उपयोग करें ...

कृपया इस कोड को अपने वेब साइट पेज में जोड़ें, जिसे आप रीडायरेक्ट करना चाहते हैं:

<script type="text/javascript">
(function(){
   setTimeout(function(){
     window.location="http://brightwaay.com/";
   },3000); /* 1000 = 1 second*/
})();
</script>

<meta http-equiv="refresh" content="3;url=http://example.com/" />एक बेहतर विकल्प है क्योंकि यह सरल है और जावास्क्रिप्ट समर्थन के बिना काम करता है।
एडवर्ड

आप सही भाई हैं ... लेकिन इसकी स्थिति पर निर्भर करता है .. कुछ समय के लिए हमें उस विशिष्ट घटना पर पुनर्निर्देशित करने की आवश्यकता है जो जेएस सबसे अच्छा विकल्प है।
सनी एसएम

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