မိုဘိုင်းဘရောက်ဆာတွင် JavaScript ကိုအသုံးပြုခြင်းနှင့်ပတ်သက်သည့် အဓိကပြဿနာမှာ သင်အသုံးပြုနေသည့်စက်ပစ္စည်းပေါ် မူတည်၍ ကွဲပြားနိုင်သောကြောင့် ဤမေးခွန်းအတွက် အရွယ်အစား-ကိုက်ညီ-အားလုံးအတွက် အဖြေမရှိပါ။ သို့သော်၊ မိုဘိုင်းကိရိယာတစ်ခုပေါ်တွင် JavaScript ကိုအသုံးပြုသောအခါတွင် ဖြစ်ပေါ်နိုင်သည့် ဘုံပြဿနာအချို့မှာ စွမ်းဆောင်ရည်နှေးကွေးခြင်းနှင့် ဝဘ်ဘရောက်ဆာ၏ အချို့သောအင်္ဂါရပ်များကို ဝင်ရောက်ရန်ခက်ခဲခြင်းတို့ ပါဝင်သည်။
if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/) || navigator.userAgent.match(/Windows Phone/) ){ // some code..
}
ကုဒ်သည် အသုံးပြုသူသည် Android စက်ပစ္စည်း၊ webOS စက်၊ iPhone၊ iPad၊ iPod၊ BlackBerry သို့မဟုတ် Windows Phone တွင်ရှိမရှိ စစ်ဆေးနေပါသည်။ အသုံးပြုသူသည် ထိုကိရိယာများထဲမှ တစ်ခုတွင် ရှိနေပါက၊ ကုဒ်သည် အလုပ်လုပ်မည်ဖြစ်သည်။
ဘရောက်ဆာ သိရှိခြင်း။
JavaScript တွင်ဘရောက်ဇာကိုရှာဖွေတွေ့ရှိခြင်းသည်ရှုပ်ထွေးသောအကြောင်းအရာဖြစ်သည်။ မတူညီသောဘရောက်ဆာများတွင် မတူညီသောလုပ်ဆောင်နိုင်စွမ်းများရှိသောကြောင့် universal detection algorithm ကိုဖန်တီးရန်ခက်ခဲသည်။
ချဉ်းကပ်မှုတစ်ခုမှာ အင်္ဂါရပ်ထောက်လှမ်းခြင်းနည်းပညာများကို အသုံးပြုရန်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ စာရွက်စာတမ်းအရာဝတ္ထုမော်ဒယ် (DOM) သို့မဟုတ် ဝင်းဒိုးအရာဝတ္တု၏ ပါဝင်မှုကို စစ်ဆေးနိုင်သည်။ သို့သော်၊ မတူညီသောဘရောက်ဆာများသည် ဤအင်္ဂါရပ်များကို မတူညီသောနည်းလမ်းများဖြင့် လုပ်ဆောင်သောကြောင့် ဤချဉ်းကပ်နည်းသည် အမြဲတမ်းယုံကြည်စိတ်ချရခြင်းမရှိပါ။
နောက်နည်းလမ်းတစ်ခုကတော့ heuristics ကိုသုံးဖို့ပါ။ ဥပမာအားဖြင့်၊ သင်သည် သီးခြား HTML တဂ်များ သို့မဟုတ် ဂုဏ်သတ္တိများကို ရှာဖွေနိုင်သည်။ သို့သော်၊ မတူညီသောဘရောက်ဆာများသည် ဤ tag များနှင့် ဂုဏ်သတ္တိများကို မတူညီသောနည်းလမ်းများဖြင့် အဓိပ္ပာယ်ဖွင့်ပေးသောကြောင့် ဤချဉ်းကပ်နည်းသည် ယုံကြည်စိတ်ချနိုင်မည်မဟုတ်ပေ။
အဆုံးစွန်အားဖြင့်၊ JavaScript တွင်ဘရောက်ဆာရှာဖွေတွေ့ရှိမှုသည်ဂရုတစိုက်စီစဉ်ခြင်းနှင့်စမ်းသပ်မှုလိုအပ်သောခက်ခဲသောအလုပ်ဖြစ်သည်။
Loop ရှိရင်
if loop သည် အခြေအနေတစ်ခုအား စမ်းသပ်ရန်နှင့် ရလဒ်အပေါ် အခြေခံ၍ ကုဒ်တစ်ခုအား လုပ်ဆောင်ရန် ခွင့်ပြုသည့် loop အမျိုးအစားတစ်ခုဖြစ်သည်။
အခြေအနေမှန်ပါက၊ ဘလောက်အတွင်းရှိကုဒ်ကို လုပ်ဆောင်ပါသည်။ အခြေအနေသည် မှားယွင်းပါက၊ block အတွင်းရှိ ကုဒ်ကို ကျော်သွားမည်ဖြစ်ပြီး if statement တွင် နောက်ထပ်ဖော်ပြချက်ဖြင့် ဆက်လက်လုပ်ဆောင်ပါသည်။
အောက်ဖော်ပြပါ ဥပမာသည် နံပါတ်တစ်ခု သို့မဟုတ် ဂဏန်းဖြစ်နေခြင်းအပေါ် မူတည်၍ မတူညီသောမက်ဆေ့ချ်များကို ပရင့်ထုတ်ရန် if loop ကိုမည်ကဲ့သို့အသုံးပြုနိုင်သည်ကို ပြသသည်-
var နံပါတ် = 5; // အကယ်၍ (num %2 == 0) { console.log(“နံပါတ် ” + num + ” သည် တူညီပါက၊ ကျွန်ုပ်တို့၏ နံပါတ်တန်ဖိုးကို သိမ်းဆည်းရန် ကိန်းပြည့် variable ၏ ဥပမာတစ်ခုကို ဖန်တီးပါ။ } else { console.log(“နံပါတ်” + num +” သည် ထူးဆန်းသည်။”); } // ကျွန်ုပ်တို့၏ နံပါတ်သည် ပင် သို့မဟုတ် ထူးဆန်းခြင်း ရှိ၊ မရှိပေါ်မူတည်၍ မတူညီသော မက်ဆေ့ချ်များကို ပရင့်ထုတ်ရန် အကောက်ကောက်များအတွင်းမှ ကုဒ်ကို လုပ်ဆောင်ပါ။ ဂဏန်း = 4; // ကျွန်ုပ်တို့၏နံပါတ်ကိန်းရှင်အတွက် ကျွန်ုပ်တို့၏တန်ဖိုးကို (num % 2 == 1) { console.log(“နံပါတ် ” + num + ” သည် ကိန်းစဉ်တစ်ခုမဟုတ်စေရန်အတွက် ကျွန်ုပ်တို့၏တန်ဖိုးကို ပြောင်းလဲပါ။ } else { console.log(“နံပါတ်” + num +” သည် ထူးဆန်းသည်။”); }