2008-10-14 12 views
39

मैंने कभी जावास्क्रिप्ट नहीं सीखा है, लेकिन मुझे लगता है कि यह काफी सरल समस्या है। सिर्फ यह जानना चाहता था कि इन दिनों सबसे अधिक सलाह दी जाती है।स्वचालित रूप से किसी अन्य वेबपृष्ठ पर रीडायरेक्ट करने का सबसे अच्छा तरीका क्या है?

उत्तर

84
// use this to avoid redirects when a user clicks "back" in their browser 
window.location.replace('http://somewhereelse.com'); 

// use this to redirect, a back button call will trigger the redirection again 
window.location.href = "http://somewhereelse.com"; 

// given for completeness, essentially an alias to window.location.href 
window.location = "http://somewhereelse.com"; 

संपादित: उपयोगकर्ता के लिए जो बेहतर उत्तर पोस्ट अतः छोड़ दिया है की तरह लग रहा है, मैं अपने जवाब यहाँ संचित किया है।

4

जावास्क्रिप्ट का उपयोग कर किसी पृष्ठ को रीडायरेक्ट करते समय याद रखने की एक महत्वपूर्ण बात यह है कि हमेशा एक गैर-जावास्क्रिप्ट रीडायरेक्ट भी प्रदान करें! एक लिंक करेगा, या बेहतर <META> टैग, उदाहरण के लिए: <meta http-equiv="refresh" content="2;url=http://example.com">

24

सबसे अधिक सलाह दी? ऐसा करने के लिए नहीं। जावास्क्रिप्ट की तुलना में HTTP is far better suited to the job है (खोज इंजन उनका अनुसरण करते हैं, आप यह बता सकते हैं कि यह स्थायी है या नहीं, वे तेज़ हैं, आदि)।

उस और नरक को विफल करना;

आप एक तत्काल रीडायरेक्ट चाहते हैं:

window.location.replace('http://example.com/');

यह ब्राउज़र इतिहास में नए URI के साथ वर्तमान यूआरआई का स्थान ले लेगा, तो वापस बटन एक पृष्ठ है कि उन्हें तुरंत फेंकता पर उपयोगकर्ता भूमि नहीं होगा फिर से आगे

आप नहीं है वास्तव में पुनर्निर्देशित करने के लिए, लेकिन एक घटना के जवाब में कहीं उपयोगकर्ता भेजना चाहते हैं चाहते हैं:

window.location.href = 'http://example.com/';

एक गैर जावास्क्रिप्ट फ़ॉलबैक है याद रखें। एक लिंक आमतौर पर सबसे अच्छा विकल्प होता है, लेकिन यह संदर्भ पर निर्भर करता है।

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

4

इन दिनों, मुझे लगता है कि सबसे अधिक सलाह दी गई विधि not to do javascript (या मेटा) रीडायरेक्ट है। क्या आपको सचमुच इसकी जरूरत है ? क्या आप इसके बजाय एक रीडायरेक्ट HTTP शीर्षलेख का उपयोग कर सकते हैं?

W3C के वेब सामग्री पहुँच क्षमता दिशानिर्देश (7.4) भी स्वतः रीफ़्रेश पृष्ठों के निर्माण, सबसे बाद से वेब ब्राउज़र उपयोगकर्ता को अक्षम या ताज़ा दर

0

<script type="text/javascript"> 
 
function Redirect(){ 
 
    window.location.href = ("https://example.com"); 
 
} 
 
document.write("Please wait you will be redirected in 10sec"); 
 
setTimeout('Redirect(), 10000); 
 
</script>

नियंत्रित करने के लिए अनुमति नहीं देते हतोत्साहित
0

<!-- begin snippet: js hide: false console: true babel: false -->

<script type="text/javascript"> 
function Redirect(){ 
    window.location.href = ("https://example.com"); 
} 
document.write("Please wait you will be redirected in 10sec"); 
setTimeout('Redirect(), 10000); 
</script> 
संबंधित मुद्दे

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