20-30 विलम्ब से प्रत्येक URL की सूची खोलें


0

इस URL से डेनिस की एक पोस्ट की निम्नलिखित स्क्रिप्ट मेरे पास है

यह ठीक वैसा ही है जैसा मैं देख रहा हूं, लेकिन मुझे प्रत्येक url को 20 या 30 सेकंड के अलावा खोलने में सक्षम होना चाहिए।

<script>
function openWindow(){
    var x = document.getElementById('a').value.split('\n');
    for (var i = 0; i < x.length; i++)
        if (x[i].indexOf('.') > 0)
            if (x[i].indexOf('://') < 0)
                window.open('http://'+x[i]);
            else
                window.open(x[i]);
}
</script>

क्या कोई मदद कर सकता है?


उपयोगकर्ता 2 में से कौन सा है?
रिक

जवाबों:


0

पूरे ब्राउज़र को फ्रीज़ करने से बचने के लिए (विलंब फ़ंक्शन के साथ) आप setTimeOutकिसी फ़ंक्शन को 20000 मिलीसेकंड के अलावा निष्पादित करने के लिए उपयोग कर सकते हैं।

सभी को setTimeoutएक दूसरे के ठीक बाद निष्पादित किया जाता है। प्रत्येक एटमी मिलीसेकंड पर एक फ़ंक्शन निर्धारित है। प्रत्येक लूप को एटोमेट पैरामीटर 20000 (20 सेकंड) तक बढ़ाया जाता है। उसके बाद आपका पृष्ठ निष्क्रिय रहता है और निर्धारित समय पर सेट-आउट कार्य निष्पादित किए जाते हैं।

ध्यान दें setTimeout("window.open('" + site + "')", atTime);। हम ऐसा नहीं कर सकते setTimeout(window.open(site), atTime);क्योंकि सेट टाइमआउट के बीच फ़ंक्शन का मूल्यांकन निष्पादन समय पर किया जाता है और चर siteमें लूप का अंतिम मान होगा। तो हम एक setTimeout("window.open('xxx')", atTime);xxx करते हैं, जहां लूप में बदलाव होता है। इस तरह से वेरिएबल को एक्जीक्यूट कमांड में सेट किया जाता है। (आशा है कि मैं स्पष्ट हूँ)

यहाँ स्क्रिप्ट है:

<script>
function openWindow(){
    var x = document.getElementById('a').value.split('\n');
    atTime = 0;
    for (var i = 0; i < x.length; i++) {
      if (x[i].indexOf('.') > 0) {
        site = x[i];
        if (x[i].indexOf('://') < 0) { site = 'http://' + x[i]; }
        setTimeout("window.open('" + site + "')", atTime);
        atTime += 20000;
      }
    }
}
</script>

यह डेनिस की स्क्रिप्ट थी। > अगर मुझे स्क्रिप्ट के बॉक्स में कई यूआरएल में पेस्ट करना है तो मुझे उदाहरण के लिए चाहिए। खुला www.google.com 20 सेकंड प्रतीक्षा करें www.bing.com प्रतीक्षा करें 20 सेकंड खुला www.yahoo.com और इतने पर जो सूची में चिपकाया गया है। आशा है कि यह समझ में आता है क्योंकि मेरी अंग्रेजी बहुत अच्छी नहीं है और यह है HTML के साथ पहली बार। ठनक यू
Louwrens Kokke

फिर आप sleepमेरे जवाब में मेरे दूसरे कोड में फ़ंक्शन का उपयोग कर सकते हैं ।
रिक् सिप

थैंक्यू रिक मैं इसे दे दूँगा। यह मेरा पहला HTML एडिट है, मुझे शुभकामनाएं। :)
लौवरेन्स कोक

यह काम नहीं कर रहा है क्योंकि मुझे उम्मीद है कि हर 20 सेकंड में "फ़ायरफ़ॉक्स जवाब नहीं दे रहा है" के साथ एक खाली सफेद खिड़की खुलती है और यह तब तक नहीं होता है जब तक कि पिछली जमी हुई खिड़की के खुलने के 20 सेकंड बाद तक मैं अचानक सभी URL को एक ही बार लोड करने के लिए सभी जमे हुए पृष्ठ न पा ले। :( यदि आपके पास कोई विचार है, तो मैं कल जवाब देने के लिए वापस आऊंगा। धन्यवाद
लूवरेन्स कोके

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