Skip to the content.

Փոխգործակցությունը բրաուզերների հետ։ alert, prompt և confirm ֆունկցիաները։ Ի դեպ այս ֆունկցիաներն անմիջականորեն կապ չունեն JavaScript ծրագրավորման լեզվի ստանդարտի հետ, այլ բրաուզերի API-ին են պատկանում և նկարագրությունը մանրամասն տրվում է HTML Living Standard-ի մեջ։ Նաև առանց բարդ տերմինների, հնարավորինս մատչելի կբացատրեմ թե ինչ է API-ը:

Քանի-որ JavaScript ծրագրավորման լեզուն հենց ամենասկզբից ստեղծվել է վեբի ֆրոնտենդ սեգմենտում օգտագործելու համար, նրա ավանդական «աշխատանքային միջավայրը» եղել է բրաուզերը։ Հիմա դա իհարկե այդպես չէ, և ներկայումս JavaScript-ը կարող է գործարկվել տարբեր պլատֆորմերի վրա, սկսած վեբ սերվերներից մինչև միկրոկոնտրոլերներ։ Բրաուզերի հետ փոխգործակցության համար գոյություն ունեն նրա API-ին պատկանող (BOM API) 3 շատ տարածված ֆունկցիաներ՝ alert-ը, prompt-ը և confirm-ը։ Պետք է ասել, որ ռեալ նախագծերի մեջ նրանք քիչ են օգտագործվում, քանի-որ մենք ՉՈՒՆԵՆՔ ՈՐևԷ ՄԻՋՈՑ ՆՐԱՆՑ ԱՐՏԱՔԻՆ ՏԵՍՔԸ ՓՈԽԵԼՈՒ ՀԱՄԱՐ, այն կախված է օգտագործվող բրաուզերի տեսակից։

Օգտագործելով HTML/CSS/JavaScript-ի անսպառ հնարավորությունները, կարելի է պատրաստել աչքին շատ ավելի հաճելի, այսպես կոչված փոփափ (pop-up) պատուհաններ, և օրինակ կայքի այցելուին փոխանցել ինչ-որ տեղեկատվություն, քան թե նույնը անել ոչ այդքան «բարեհամբույր» տեսք ունեցող alert ֆունկցիայի պատուհանի միջոցով։ Բայց և այնպես գոնե ուսումնական պրոցեսում, կամ որևէ բան արագ թեսթավորելու համար նրանք օգտագործվում են, և վեբ ծրագրավորողը պետք է գերազանց իմանա ինչպես այն կիրառել։ Պլյուս նրանք շատ հուսալի են, և կարելի է ասել, որ պարզությունն այն գինն է, որը մենք վճարում ենք երաշխավորված, հուսալի աշխատանքի դիմաց։

Իսկ հիմա փորձենք հասկանալ ինչ է իրենից ներկայացնում API-ը։ Այն application programming interface արտահայտության հապավումն է, որը հայերեն կարելի է թարգմանել որպես կիրառական ծրագրերի ինտերֆեյս։ Եթե հնարավորինս պարզ՝ այն միջոցների ամբողջություն է, որոնց օգնությամբ մի ծրագիրը համագործակցում է մյուս ծրագրի հետ, որևէ համատեղ առաջադրանք կատարելու համար։ Օրինակ վերցնենք էլեկտրական հոսանքի կիրառությունը կենցաղում։ Մենք կարող ենք ընդհանրապես գաղափար չունենալ թե ինչպես և որտեղ է էլեկտրական հոսանքը արտադրվում և ոնց է բաշխվում։ Բայց տան մեջ կան վարդակներ, որոնցից բոլորն են կարողանում օգտվել հեռուստացույց կամ արդուկ միացնելու համար։ Նույն կերպ մենք կարող ենք գաղափար չունենալ թե ոնց է աշխատում հեռուստացույցը, սակայն հեռակառավարման վահանակի օգնությամբ հեշտությամբ միացնում-անջատում կամ ալիքները փոխում ենք։

Նույն սկզբունքով API-ն մեզ հնարավորություն է տալիս պարզեցված տարբերակով աշխատել կողմնակի ծրագրերի հետ, օրինակ կա օպերացիոն համակարգի API, որի օգնությամբ համակարգչային տարբեր ծրագրերը փոխգործակցում են օպերացիոն համակարգի հետ։ Բրաուզերի API-ն հնարավորություն է տալիս JavaScript ծրագրավորման լեզվի միջոցով շատ հեշտ կատարել գործողություններ, որոնք իրականում տակից շատ բարդ են։ Այն չափազանց հեշտացնում է ծրագրավորողի աշխատանքը։

Օրինակ Geolocation API-ն տրամադրում է օգտագործման համար շատ պարզ կառուցվածքներ, որոնց օգնությամբ մենք կարող ենք հեշտությամբ աշխատել գտնվելու վայրի մասին տվյալների հետ, և ասենք թե Google Map-ի վրա նշել մեր տեղը։ Բայց իրականում բրաուզերի մեջ այդ ժամանակ կատարվում է բարդ, համեմատաբար ցածր մակարդակի կոդ (կարող է լինել օրինակ C++ լեզվով), որը պատասխանատու է GPS-ի միացման, տվյալները ստանալու, դրանք մշակելու, համակարգելու և բրաուզերի մեջ աշխատող մեր ծրագրին հաղորդելու համար։

Մինչ alert-ին, prompt-ին և confirm-ին անդրադառնալը, բացատրեմ ևս մի տերմին, որը հաճախ է օգտագործվում և անմիջականորեն վերաբերում է այդ 3 մեթոդներին։ Մոդալ պատուհաններ (Modal window) կոչվում են այն դիալոգային պատուհանները, որոնք արգելափակում են մնացած ողջ ինտերֆեյսի օգտագործման հնարավորությունը, քանի դեռ պատուհանը չենք փակել։

Եվ այսպես սկսենք alert-ից։ Սինթաքսը հետևյալն է՝

window.alert(message)

Կարող ենք կանչել նաև առանց window գլոբալ օբյեկտն օգտագործելու, ուղղակի

alert(message)։

prompt-ը բացում է մոդալ պատուհան, որտեղ կա տվյալների մուտքագրման համար դաշտ և ոչ պարտադիր հանդիսացող տեքստի մուտքագրման հարցում։ Սինթաքսը հետևյալն է՝

result = window.prompt(message, default);

Կարող ենք օգտագործել նաև կարճ տարբերակը, առանց window գլոբալ օբյեկտի։

result = prompt(message, default);

Այսպիսով երբ սեղմում ենք OK կոճակը, ապա ֆունկցիան վերադարձնում է այն տեքստը, որը մուտք է արվել մուտքագրման դաշտում։ Երբ սեղմում ենք OK կոճակը, սակայն առանց որևէ տեքստ մուտք անելու, ապա վերադառնում է default պարամետրում նշված արժեքը, կամ դատարկ տող, եթե տվյալ պարամետրը տրված չէ։ Եվ վերջապես,երբ սեղմում ենք Cancel կոճակը, ապա ֆունկցիան վերադարձնում է null:

confirm-ը բացում է մոդալ պատուհան, որն ունի երկու կոճակ՝ (OK և Cancel), ինչպես նաև ոչ պարտադիր հանդիսացող տեքստային հաղորդագրություն։ Սինթաքսը հետևյալն է՝

result = window.confirm(message)

Կարող ենք օգտագործել կարճ գրելաձև, բաց թողնելով window գլոբալ օբյեկտը։

result = confirm(message)