जेएस ट्यूटोरियल

जेएस होम जे एस परिचय जे एस कहाँ करने के लिए जेएस आउटपुट जेएस स्टेटमेंट्स जेएस सिंटेक्स जे एस टिप्पणियाँ जेएस चर जे एस लेट जेएस कॉन्स्ट जेएस ऑपरेटर्स जे एस अंकगणित जेएस असाइनमेंट जेएस डेटा प्रकार जे एस कार्य जेएस ऑब्जेक्ट्स जेएस इवेंट्स जे एस स्ट्रिंग्स जे एस स्ट्रिंग तरीके जे एस स्ट्रिंग खोज जे एस स्ट्रिंग टेम्पलेट्स जेएस नंबर जेएस संख्या के तरीके जे एस सरणी जेएस सरणी के तरीके जेएस ऐरे सॉर्ट जेएस सरणी पुनरावृत्ति जेएस ऐरे कॉन्स्ट जे एस तिथियाँ जेएस तिथि प्रारूप जेएस तिथि प्राप्त करने के तरीके JS दिनांक सेट विधियाँ जे एस मठ जे एस रैंडम जे एस बूलियन्स जेएस तुलना जे एस शर्तें जे एस स्विच जेएस लूप फॉर In . के लिए JS लूप ओएफ के लिए जेएस लूप जेएस लूप जबकि जेएस ब्रेक जेएस Iterables जेएस सेट जेएस मैप्स जेएस टाइपोफ जे एस प्रकार रूपांतरण जेएस बिटवाइज जेएस रेगएक्सपी जे एस त्रुटियाँ जेएस स्कोप जे एस उत्थापन जेएस सख्त मोड जेएस यह कीवर्ड जेएस एरो फंक्शन जेएस क्लासेस जेएस JSON जेएस डिबगिंग जेएस स्टाइल गाइड जेएस सर्वोत्तम अभ्यास जेएस गलतियाँ जेएस प्रदर्शन जेएस आरक्षित शब्द

जेएस संस्करण

जेएस संस्करण जेएस 2009 (ES5) जेएस 2015 (ईएस6) जेएस 2016 जेएस 2017 जेएस 2018 जेएस आईई / एज जेएस इतिहास

जेएस ऑब्जेक्ट्स

वस्तु परिभाषाएँ वस्तु गुण वस्तु के तरीके वस्तु प्रदर्शन ऑब्जेक्ट एक्सेसर्स वस्तु निर्माता वस्तु प्रोटोटाइप वस्तु पुनरावर्तनीय वस्तु समूह वस्तु मानचित्र वस्तु संदर्भ

जे एस कार्य

फ़ंक्शन परिभाषाएँ फंक्शन पैरामीटर्स समारोह आमंत्रण फंक्शन कॉल समारोह लागू करें फंक्शन क्लोजर

जेएस क्लासेस

कक्षा परिचय वर्ग वंशानुक्रम क्लास स्टेटिक

जे एस एसिंक

जेएस कॉलबैक जे एस अतुल्यकालिक जे एस वादा जे एस एसिंक/प्रतीक्षा

जेएस एचटीएमएल डोम

डोम परिचय डोम तरीके डोम दस्तावेज़ डोम तत्व डोम एचटीएमएल डोम फॉर्म डोम सीएसएस डोम एनिमेशन डोम घटनाक्रम डोम इवेंट श्रोता डोम नेविगेशन डोम नोड्स डोम संग्रह डोम नोड सूचियाँ

जेएस ब्राउज़र बीओएम

जेएस विंडो जेएस स्क्रीन जेएस स्थान जेएस इतिहास जेएस नेविगेटर जेएस पॉपअप अलर्ट जेएस टाइमिंग जे एस कुकीज़

जेएस वेब एपीआई

वेब एपीआई परिचय वेब फॉर्म एपीआई वेब इतिहास एपीआई वेब संग्रहण API वेब वर्कर एपीआई वेब फ़ेच एपीआई वेब जियोलोकेशन एपीआई

जे एस अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

जेएस JSON

JSON परिचय JSON सिंटैक्स जेएसओएन बनाम एक्सएमएल JSON डेटा प्रकार JSON पार्स JSON स्ट्रिंगिफ़ाई JSON ऑब्जेक्ट्स JSON सरणियाँ JSON सर्वर जेएसओएन पीएचपी जेएसओएन एचटीएमएल जेएसओएन जेएसओएनपी

जेएस बनाम jQuery

jQuery चयनकर्ता jQuery एचटीएमएल jQuery सीएसएस jQuery डोम

जेएस ग्राफिक्स

जेएस ग्राफिक्स जेएस कैनवास जे एस प्लॉटली जेएस चार्ट.जेएस जेएस गूगल चार्ट जेएस डी3.जेएस

जेएस उदाहरण

जेएस उदाहरण जेएस एचटीएमएल डोम जेएस एचटीएमएल इनपुट जेएस एचटीएमएल ऑब्जेक्ट्स जेएस एचटीएमएल इवेंट्स जेएस ब्राउज़र जे एस संपादक जे एस व्यायाम जे एस प्रश्नोत्तरी जेएस प्रमाणपत्र

जे एस संदर्भ

जावास्क्रिप्ट ऑब्जेक्ट्स एचटीएमएल डोम ऑब्जेक्ट्स


वेब वर्कर्स एपीआई


वेब वर्कर एक जावास्क्रिप्ट है जो पृष्ठ के प्रदर्शन को प्रभावित किए बिना पृष्ठभूमि में चल रहा है।


वेब वर्कर क्या है?

HTML पृष्ठ में स्क्रिप्ट निष्पादित करते समय, स्क्रिप्ट समाप्त होने तक पृष्ठ अनुत्तरदायी हो जाता है।

एक वेब कार्यकर्ता एक जावास्क्रिप्ट है जो पृष्ठ के प्रदर्शन को प्रभावित किए बिना, अन्य लिपियों से स्वतंत्र रूप से पृष्ठभूमि में चलता है। आप जो चाहें करना जारी रख सकते हैं: क्लिक करना, चीजों का चयन करना, आदि, जबकि वेब कार्यकर्ता पृष्ठभूमि में चलता है।

ब्राउज़र समर्थन

तालिका में संख्याएं पहले ब्राउज़र संस्करणों को निर्दिष्ट करती हैं जो पूरी तरह से वेब वर्कर्स का समर्थन करते हैं:

Chrome 4 IE 10 Firefox 3.5 Safari 4 Opera 11.5
Jan 2010 Sep 2012 Jun 2009 Jun 2009 Jun 2011

वेब वर्कर्स उदाहरण

नीचे दिया गया उदाहरण एक साधारण वेब वर्कर बनाता है जो पृष्ठभूमि में संख्याओं की गणना करता है:

उदाहरण

Count numbers:


वेब वर्कर सपोर्ट की जाँच करें

वेब वर्कर बनाने से पहले, जांचें कि उपयोगकर्ता का ब्राउज़र इसका समर्थन करता है या नहीं:

if (typeof(Worker) !== "undefined") {
  // Yes! Web worker support!
  // Some code.....
} else {
  // Sorry! No Web Worker support..
}


एक वेब वर्कर फ़ाइल बनाएँ

अब, हमारे वेब वर्कर को बाहरी जावास्क्रिप्ट में बनाते हैं।

यहां, हम एक स्क्रिप्ट बनाते हैं जो मायने रखती है। स्क्रिप्ट "demo_workers.js" फ़ाइल में संग्रहीत है:

let i = 0;

function timedCount() {
  i ++;
  postMessage(i);
  setTimeout("timedCount()",500);
}

timedCount();

उपरोक्त कोड का महत्वपूर्ण हिस्सा postMessage()विधि है - जिसका उपयोग किसी संदेश को HTML पृष्ठ पर वापस पोस्ट करने के लिए किया जाता है।

नोट: आम तौर पर वेब कर्मचारियों का उपयोग ऐसी सरल स्क्रिप्ट के लिए नहीं किया जाता है, बल्कि अधिक CPU गहन कार्यों के लिए किया जाता है।


वेब वर्कर ऑब्जेक्ट बनाएं

अब जब हमारे पास वेब वर्कर फ़ाइल है, तो हमें इसे HTML पृष्ठ से कॉल करने की आवश्यकता है।

निम्न पंक्तियाँ जाँचती हैं कि क्या कार्यकर्ता पहले से मौजूद है, यदि नहीं - यह एक नया वेब वर्कर ऑब्जेक्ट बनाता है और "demo_workers.js" में कोड चलाता है:

if (typeof(w) == "undefined") {
  w = new Worker("demo_workers.js");
}

फिर हम वेब वर्कर से संदेश भेज और प्राप्त कर सकते हैं।

वेब कार्यकर्ता के लिए एक "ऑनमेसेज" ईवेंट श्रोता जोड़ें।

w.onmessage = function(event){
  document.getElementById("result").innerHTML = event.data;
};

जब वेब कार्यकर्ता एक संदेश पोस्ट करता है, तो ईवेंट श्रोता के भीतर कोड निष्पादित होता है। वेब वर्कर का डेटा Event.data में स्टोर किया जाता है।


एक वेब कार्यकर्ता को समाप्त करें

जब एक वेब वर्कर ऑब्जेक्ट बनाया जाता है, तो यह संदेशों को तब तक सुनना जारी रखेगा (बाहरी स्क्रिप्ट समाप्त होने के बाद भी) जब तक इसे समाप्त नहीं किया जाता है।

एक वेब कार्यकर्ता, और मुफ्त ब्राउज़र/कंप्यूटर संसाधनों को समाप्त करने के लिए, terminate()विधि का उपयोग करें:

w.terminate();

वेब वर्कर का पुन: उपयोग करें

यदि आप कार्यकर्ता चर को अपरिभाषित पर सेट करते हैं, तो इसे समाप्त करने के बाद, आप कोड का पुन: उपयोग कर सकते हैं:

w = undefined;

पूर्ण वेब वर्कर उदाहरण कोड

हम पहले ही .js फ़ाइल में वर्कर कोड देख चुके हैं। एचटीएमएल पेज के लिए कोड नीचे दिया गया है:

उदाहरण

<!DOCTYPE html>
<html>
<body>

<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>

<script>
let w;

function startWorker() {
  if (typeof(w) == "undefined") {
    w = new Worker("demo_workers.js");
  }
  w.onmessage = function(event) {
    document.getElementById("result").innerHTML = event.data;
  };
}

function stopWorker() {
  w.terminate();
  w = undefined;
}
</script>

</body>
</html>

वेब वर्कर्स और डोम

चूंकि वेब कर्मचारी बाहरी फाइलों में हैं, इसलिए उनके पास निम्नलिखित जावास्क्रिप्ट ऑब्जेक्ट्स तक पहुंच नहीं है:

  • खिड़की वस्तु
  • दस्तावेज़ वस्तु
  • मूल वस्तु