setTimeout() के साथ window.open()
निर्दिष्ट समय बाद नया पेज/टैब खोलने के लिए setTimeout() के साथ window.open() का उपयोग करें।
उदाहरण
window.open(url, target, features, replace);
| पैरामीटर | विवरण | उदाहरण |
|---|---|---|
| url | खोले जाने वाला URL | "https://example.com" |
| target | विंडो नाम/टार्गेट | "_blank" (नया टैब), "_self" (समान), "_parent", "_top", या कस्टम नाम |
| features | विंडो विशेषताएं (स्ट्रिंग) | "width=600,height=400,scrollbars=yes" |
| replace | हिस्ट्री एंट्री रिप्लेस करें | true/false |
व्यावहारिक उदाहरण
1. विशिष्ट विंडो आकार के साथ
setTimeout(function() {
window.location.href = 'https://example.com/';
}, 5000);
3. हिस्ट्री रिप्लेस के साथ (बैक बटन अक्षम)
<!DOCTYPE html>
<html>
<body>
<p>Loading in <span id="count">5</span> seconds...
<button onclick="cancelLoad()">Cancel</button></p>
<script>
var timer = setTimeout(loadPage, 5000);
var count = 5;
var countEl = document.getElementById('count');
var interval = setInterval(function() {
count--;
countEl.textContent = count;
}, 1000);
function loadPage() {
clearInterval(interval);
window.open('https://example.com', '_blank');
}
function cancelLoad() {
clearTimeout(timer);
clearInterval(interval);
document.body.innerHTML = 'Load cancelled.
';
}
</script>
</body>
</html>
पॉपअप ब्लॉकर चेतावनी
window.open() ब्राउज़र के पॉपअप ब्लॉकर द्वारा ब्लॉक किया जा सकता है यदि यह उपयोगकर्ता इंटरैक्शन (क्लिक) के बिना कॉल किया जाता है। setTimeout के अंदर होने से यह अक्सर ब्लॉक हो जाता है।
बेहतर दृष्टिकोण: उपयोगकर्ता इंटरैक्शन के बाद