HTML వెబ్ వర్కర్స్

వెబ్ వర్కర్ బ్యాక్గ్రౌండ్ లో జరిగే జావాస్క్రిప్ట్, పేజీ పరిమాణాన్ని ప్రభావితం చేయదు.

వెబ్ వర్కర్ ఏమిటి?

వెబ్ పేజీలో స్క్రిప్ట్ని నిర్వహించటం సమయంలో పేజీ ప్రతిస్పందించడానికి సమర్ధంగా లేదు, స్క్రిప్ట్ పూర్తి అయినప్పటికే.

వెబ్ వర్కర్ బ్యాక్గ్రౌండ్ లో జరిగే జావాస్క్రిప్ట్, ఇతర స్క్రిప్ట్లకు స్వతంత్రంగా ఉంటుంది, పేజీ పరిమాణాన్ని ప్రభావితం చేయదు. మీరు ఏదైనా చేయవచ్చు: క్లిక్ చేయండి, విషయాన్ని ఎంచుకోండి మొదలు కాగలరు, ఈ సమయంలో వెబ్ వర్కర్ బ్యాక్గ్రౌండ్ లో పని చేస్తుంది.

బ్రౌజర్ మద్దతు

పట్టికలో సంఖ్యలు పూర్తిగా వెబ్ వర్కర్ మద్దతు ఉన్న మొదటి బ్రౌజర్ వెర్షన్ నిర్దేశిస్తాయి.

API
వెబ్ వర్కర్ 4.0 10.0 3.5 4.0 11.5

HTML వెబ్ వర్కర్స్ ఉదాహరణ

ఈ ఉదాహరణలో ఒక సాధారణ వెబ్ వర్కర్ సృష్టించబడింది, బ్యాక్గ్రౌండ్ లో పరిమాణం లెక్కించడానికి ఉంది:

పరిమాణంలో సంఖ్య

亲自试一试

వెబ్ వర్కర్ మద్దతు పరిశీలించండి

వెబ్ వర్కర్ సృష్టించడానికి ముందు, వినియోగదారి బ్రౌజర్ ఇది మద్దతు అవుతుందా పరిశీలించండి:

if (typeof(Worker) !== "undefined") {
    // అవును! వెబ్ వర్కర్ మద్దతు ఉంది!
    // కొన్ని కోడ్.....
} else {
    // క్షమించండి! వెబ్ వర్కర్ మద్దతు లేదు!
}

వెబ్ వర్కర్ ఫైల్ సృష్టించండి

ఇప్పుడు, మాత్రమే, మా వెబ్ వర్కర్ ను ఒక బాహ్య జావాస్క్రిప్ట్ ఫైల్లో సృష్టించండి.

ఇక్కడ, మేము లెక్కించడానికి ఉపయోగించే స్క్రిప్ట్ సృష్టించాము. ఈ స్క్రిప్ట్ "demo_workers.js" ఫైల్లో నిల్వ చేయబడింది:

var i = 0;
function timedCount() {
    i = i + 1;
    postMessage(i);
    setTimeout("timedCount()",500);
}
timedCount();

ఈ కోడ్లో ముఖ్యమైన భాగం postMessage() మాదిరిగా ఉంది - ఇది హైలైట్ పేజీకి సందేశాన్ని పంపడానికి ఉపయోగించబడుతుంది:

కామెంట్: వెబ్ వర్కర్ సాధారణంగా ఈ విధమైన స్క్రిప్ట్లకు ఉపయోగించబడదు. అది ఇంకా మరింత సిపియు వనరులను వెతుకుతుంది.

వెబ్ వర్కర్ ఆబ్జెక్ట్ సృష్టించండి

ఇప్పుడు మేము వెబ్ వర్కర్ ఫైల్ కలిగిస్తున్నాము. ఇప్పుడు మేము హైలైట్ పేజీ నుండి దానిని కాల్ చేయాలి:

ఈ కోడ్ లో ముఖ్యమైన భాగం postMessage() మాదిరిగా ఉంది - ఇది హైలైట్ పేజీకి సందేశాన్ని పంపడానికి ఉపయోగించబడుతుంది:

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

అప్పుడు మేము వెబ్ వర్కర్ నుండి సందేశాలను పొందవచ్చు.

వెబ్ వర్కర్కు "onmessage" ఇవెంట్ లిస్టెనర్ జోడించండి:

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

వెబ్ వర్కర్ సందేశాన్ని పంపించినప్పుడు, అది ఇవ్వబడిన ఇవెంట్ లిస్టెనర్లో కోడ్ నిర్వహించబడుతుంది. వెబ్ వర్కర్ నుండి వచ్చే డాటా ఇవెంట్.data లో నిల్వ చేయబడుతుంది.

వెబ్ వర్కర్ ముగించండి

వెబ్ వర్కర్ సృష్టించబడిన తర్వాత, దాని ముగించబడకుండా, వెలుపలి స్క్రిప్ట్ పూర్తి అయినప్పటికీ, దాని సందేశాలను క్లిక్కించడం జరుగుతుంది.

వెబ్ వర్కర్ ను ముగించి, బ్రౌజర్/కంప్యూటర్ వనరులను విడిచిపెట్టడానికి, terminate() మాదిరిగా ఉపయోగించండి:

w.terminate();

వర్క్ వీకర్ మళ్ళీ ఉపయోగించండి

మీరు worker వ్యవచారాన్ని undefined గా సెట్ చేస్తే, దాని అంతర్గతంగా ముగించబడిన అప్పుడు, ఈ కోడ్ని మళ్ళీ ఉపయోగించవచ్చు:

w = undefined;

పూర్తి Web Worker ఉదాహరణ కోడ్

మేము .js ఫైల్లో వర్కర్ కోడ్ చూసాము. ఇప్పుడు హైలైట్ పేజీ కోడ్ ఇలా ఉంది:

ఉదాహరణ

<!DOCTYPE html>
<html>
<body>
<p>సంఖ్యలను లెక్కించండి: <output id="result"></output></p>
 



亲自试一试

Web Worker 和 DOM

由于 web worker 位于外部文件中,它们无法访问下例 JavaScript 对象:

  • window 对象
  • document 对象
  • parent 对象