HTML ဝီကီ အလုပ်သမား

ဝီကီ အလုပ်သမား သည် ဘိုင်ချ် အရှိုး တွင် လုပ်ကိုင်သော JavaScript ဖြစ် ပြီး ဘိုင်ချ် အရှိုး အကျိုးသတ္တုပ် ကို မပြစ်စစ်ဘဲ လုပ်ကိုင်နိုင်ပါသည်

ဝီကီ အလုပ်သမား ဘာကြောင်းဖြစ်သလဲ?

ဝီကီ စာတမ်း ပိုင်းစား လုပ်ကိုင်နေ အခါ ဘိုင်ချ် အရှိုး မပြင်းနေ ပါ

ဝီကီ အလုပ်သမား သည် ဘိုင်ချ် အရှိုး တွင် လုပ်ကိုင်သော JavaScript ဖြစ် ပြီး အခြား ကိုယ်စားပြု မပါ ဘဲ ဘိုင်ချ် အရှိုး အကျိုးသတ္တုပ် ကို မပြစ်စစ်ဘဲ လုပ်ကိုင်နိုင်ပါသည်: စိတ်ဝင့်ချိန့်ချက်ကို စိတ်ဝင့်ချိန့်ချက်ကို လုပ်ကိုင်ပါ နှင့်အတူ ဝီကီ အလုပ်သမား ဘိုင်ချ် အရှိုး တွင် လုပ်ကိုင်နေပါသည်

ဝီကီ ကူညီ အသုံး

တန်ပြားတွင် အချက်အတွက် ဝီကီ အလုပ်သမား အနှစ်တစ် ပုံစံ ဝီကီ အလုပ်သမား ကူညီ ဖြစ် သည် ကို ညွှန်ပြပါ

API
ဝီကီ အလုပ်သမား 4.0 10.0 3.5 4.0 11.5

HTML ဝီကီ အလုပ်သမား အမှတ်အသား

အောက်ပါ အကျိုးသတ္တုပ် ဝီကီ အလုပ်သမား ဖန်တီးပြီး ဘိုင်ချ် အရှိုး လုပ်ကိုင်မည်:

စစ်တန်း:

亲自试一试

ဝီကီ အလုပ်သမား ကူညီ စစ်ဆေး

ဝီကီ အလုပ်သမား ဖန်တီးပြီး အီးကလီ ကုန်းစား က ဝီကီ အလုပ်သမား ကူညီ ဖြစ် လာကြောင်း စစ်ဆေးပါ:

if (typeof(Worker) !== "undefined") {
    // အချက်! ဝီကီ အလုပ်သမား ကူညီ
    // ပိုမို ကြောင်းရာ ကိုယ်စားပြု
} else {
    // ပြောပါ့မယ်! ဝီကီ အလုပ်သမား ကူညီမှာ မဟုတ်
}

ဝီကီ အလုပ်သမား ဖန်တီးမည်

现在,让我们在一个外部 JavaScript 文件中创建我们的 web worker。

在此处,我们创建了计数脚本。该脚本存储于 "demo_workers.js" 文件中:

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

အခြား အရေးယူခြင်းများတွင် အရေးယူသော အချိန်အချက်မှာ postMessage() အမိန့်ဖြင့် ဖြစ်သည်။ သူ၏ အချက်အလက်များ အချက်အလက်မှာ HTML စားစားသို့ ပြန်လည်ပေးသည်。

ရှိခြင်းမရှိခြင်း: web worker သည် အကျယ်အဝန်း အကျသော အခြေခံ အရေးယူခြင်းများအတွက် အသုံးပြုခြင်းမရှိ၊ အခြား ကွန်ပျူတာ အကျသော အရေးယူခြင်းများ အတွက် အသုံးပြုသည်。

Web Worker အမှတ်အသားဖွင့်

ကျွန်တော်တို့သည် web worker ဖိုင်ကို ရရှိခဲ့ပြီ။ အခြားအသုံးပြုသည့် HTML စားစားမှာ အသုံးပြုပါ:

အောက်ပါ အရေးယူခြင်းဖြင့် worker အရှိသေးသလိုသလို ကြည့်ရှုပါ၊ အရှိမရှိသော် - အခြားအသုံးပြုသည့် web worker အမှတ်အသားကို ဖွင့်ပြီး "demo_workers.js" ဖိုင်မှ အရေးယူခြင်းကို လုပ်ဆောင်ပါသည်:

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

ပြီးနောက် ကျွန်တော်တို့သည် web worker မှ အသံလွှမ်းကို ဖြစ်ပေါ်စေပြီး အသံလွှမ်းကို လက်ခံနိုင်ပါသည်。

web worker အတွက် "onmessage" အခင်းအားသတ်မှတ်ချက်တစ်ခု ပြင်ဆင်ပါ:

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

web worker က အသံလွှမ်းကို ချင်းပေးသောအခါ၊ အခင်းအားသတ်မှတ်သည့် အခင်းအားသတ်မှတ်ချက်မှာ အရေးယူခြင်းဖြင့် လုပ်ဆောင်လေ့ရှိသည်။ web worker မှ အချက်အလက်များ အခင်းအားသတ်မှတ်ချက်မှာ event.data တွင် သိနိုင်ပါသည်。

Web Worker အပျက်အစီးခြင်း

web worker ကို ဖွင့်လိုက်ပြီးနောက်၊ သူ၏ အပျက်အစီးပြီးနောက်တွင်လည်း သူ၏ အသံလွှမ်းများကို ကြည့်ရှုလျက် ရှိသည်။

web worker ကို အပျက်အစီးရန် နှင့် ဘရောက်သမုဒ္ဒရာ/ကွန်ပျူတာ အရင်းအဝါကို ဖယ်ရှားရန် terminate() အမိန့်ကို အသုံးပြုပါ:

w.terminate();

Web Worker အကျိုးသတ်ခြင်း

သင်သည် worker အမှတ်အသားကို undefined အထိမ်းအားပြုလျှင်၊ သူ၏ အပျက်အစီးပြီးနောက်တွင် အခြားအသုံးပြုနိုင်သော အရေးယူခြင်းဖြင့်:

w = undefined;

အပြည့်အစုံ Web Worker အကျိုးသတ် အရေးယူခြင်း

ကျွန်တော်တို့သည် .js ဖိုင်မှ Worker အရေးယူခြင်းကို မြင်ခဲ့ပြီ။ အောက်ပါ HTML စားစားသည့် အရေးယူခြင်းဖြင့်:

အကျိုးသတ်

<!DOCTYPE html>
<html>
<body>
<p>စွမ်းအားရှာဖွေတုန်းများ: <output id="result"></output></p>
 



亲自试一试

Web Worker 和 DOM

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

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