სახელმძღვანელოს ეს ნაწილი ეხება JavaScript-ს, უშუალოდ ენას.
ამის მიუხედავად გვჭირდება სამუშაო გარემო, რათა გავუშვათ ჩვენი სკრიპტები და, რადგან ეს გახლავთ ონლაინ-წიგნი, ბრაუზერი ამისთვის მშვენიერი არჩევანია. ჩვენ მინიმუმამდე დავიყვანთ ბრაუზერისთვის სპეციფიკური ბრძანებების (როგორიცაა alert) რაოდენობას, რათა მათზე დრო არ დაკარგოთ [იმ შემთხვევაში], თუ გეგმავთ, კონცენტრირდეთ სხვა გარემოზე (როგორიცაა Node.js). ბრაუზერში JavaScript-ის გამოყენებაზე ყურადღებას გავამახვილებთ სახელმძღვანელოს შემდეგ ნაწილში.
მაშასადამე, თავდაპირველად ვნახოთ, როგორ ხდება ვებგვერდისათვის სკრიპტის მიბმა. სერვერის მხარის გარემოში (როგორიცაა Node.js) სკრიპტის გაშვება შეგიძლიათ შემდეგნაირი ბრძანებით: „node my.js“.
JavaScript-პროგრამების განთავსება შესაძლებელია HTML-დოკუმენტის მასშტაბით, <script> ტეგის გამოყენებით.
მაგალითად:
<!DOCTYPE HTML>
<html>
<body>
<p>სკრიპტის წინ...</p>
*!*
<script>
alert( 'გამარჯობა, მსოფლიო!' );
</script>
*/!*
<p>...სკრიპტის შემდეგ.</p>
</body>
</html>ზემოთ მოცემული განყოფილების მარჯვენა ზედა კუთხეში არსებულ „Play“ ღილაკზე დაწკაპუნებით შეგიძლიათ მაგალითში მოცემული კოდი გაუშვათ.
<script> ტეგი შეიცავს JavaScript-კოდს, რომელიც, როგორც კი ბრაუზერის მიერ დამუშავდება, ავტომატურად ეშვება.
<script> ტეგს გააჩნია რამდენიმე ატრიბუტი, რომლებიც დღესდღეობით იშვიათად გამოიყენება, მაგრამ მაინც გვხვდება ძველ კოდში:
ატრიბუტი type: <script type=...>
: ძველი HTML-სტანდარტი, HTML4, სკრიპტისაგან მოითხოვდა type-ის ქონას. ჩვეულებრივ, იგი გვხვდებოდა შემდეგი მნიშვნელობით: type="text/javascript". ამჟამად ეს აღარ არის აუცილებელი. ამასთან, თანამედროვე HTML-სტანდარტმა მთლიანად შეცვალა ამ ატრიბუტის დატვირთვა. ახლა იგი შეიძლება გამოყენებულ იქნეს JavaScript-მოდულებისათვის. მაგრამ ამაზე საუბარი ჯერჯერობით ნაადრევია, მოდულების შესახებ სახელმძღვანელოს სხვა ნაწილში ვისაუბრებთ.
ატრიბუტი language: <script language=...>
: ამ ატრიბუტის დანიშნულება სკრიპტის ენის აღნიშვნა იყო. თუმცა, რადგან [ამჟამად] JavaScript-ი ნაგულისხმევი ენაა, ამ ატრიბუტის გამოყენებას აზრი აღარ აქვს.
კომენტარები სკრიპტის წინ და სკრიპტის შემდეგ.
: ძალიან ძველ წიგნებსა და სახელმძღვანელოებში <script> ტეგის შიგნით შეიძლება წააწყდეთ შემდეგი სახის კომენტარებს:
```html no-beautify
<script type="text/javascript"><!--
...
//--></script>
```
აღნიშნული კომენტარის დანიშნულება ის გახლდათ, რომ იგი მალავდა JavaScript-კოდს ძველი ბრაუზერებისაგან, რომლებმაც არ იცოდნენ, როგორ დაემუშავებინათ `<script>` ტეგი. ეს ხრიკი თანამედროვე JavaScript-ში აღარ გამოიყენება. მას შემდეგ, რაც ბოლო 15 წლის განმავლობაში გამოშვებულ არც ერთ ბრაუზერს ეს პრობლემა აღარ აქვს, ერთადერთი, რაშიც მსგავსი კომენტარი შეიძლება დაგეხმაროთ, ჭეშმარიტად უძველესი კოდის იდენტიფიცირებაა.
თუ დიდი მოცულობით JavaScript-კოდი გვაქვს, შეგვიძლია იგი ცალკეულ ფაილში განვათავსოთ.
სკრიპტის ფაილების HTML-ისთვის მიბმა ხორციელდება src ატრიბუტით:
<script src="/path/to/script.js"></script>აქ /path/to/script.js არის აბსოლუტური მისამართი საიტის ფესვიდან სკრიპტის ფაილამდე. ასევე შეიძლება მივუთითოთ ფარდობითი მისამართი მიმდინარე გვერდიდან. მაგალითად, src="script.js" [ან src="./script.js"] გულისხმობს, რომ "script.js" ფაილი განთავსებულია მიმდინარე საქაღალდეში.
ასევე შეგვიძლია სრული URL-მისამართის მითითება. მაგალითად:
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>რამდენიმე სკრიპტის მისაბმელად [ერთდროულად] ვიყენებთ მრავალ ტეგს:
<script src="/js/script1.js"></script>
<script src="/js/script2.js"></script>
…როგორც წესი, HTML-ში თავსდება მხოლოდ უმარტივესი სკრიპტები, უფრო რთულები კი — ცალკეულ ფაილებში.
ცალკეული ფაილის უპირატესობა ის გახლავთ, რომ ბრაუზერი მოახდენს მის ჩამოტვირთვას და [ქეშში](https://en.wikipedia.org/wiki/Web_cache) შენახვას.
სხვა გვერდები, რომლებიც შეიცავენ იმავე სკრიპტს, ნაცვლად ჩამოტვირთვისა, ამოიღებენ მას ქეშიდან. ამრიგად, ფაილის ჩამოტვირთვა ფაქტობრივად მხოლოდ ერთხელ მოხდება.
ეს ამცირებს ტრაფიკს და გვერდებს უფრო სწრაფს ხდის.
````warn header="თუ src ატრიბუტი განსაზღვრულია, `script` ტეგის შიგთავსი უგულებელყოფილი იქნება."
ერთსა და იმავე `<script>` ტეგში ერთდროულად `src` ატრიბუტისა და შიგთავსის ქონა არ შეიძლება.
ეს არ იმუშავებს:
<script *!*src*/!*="file.js">
alert(1); // შიგთავსი უგულებელყოფილია, რადგან განსაზღვრულია src ატრიბუტი
</script>უნდა გავაკეთოთ არჩევანი: ან გარე სკრიპტი <script src="…">, ან ჩვეულებრივი კოდი <script> ტეგის შიგნით.
ზემოთ მოყვანილი მაგალითი შეიძლება დაიყოს ორ სკრიპტად, რათა (სრულფასოვნად) იმუშავოს:
<script src="file.js"></script>
<script>
alert(1);
</script>
## შეჯამება
- გვერდისათვის JavaScript-კოდის დასამატებლად `<script>` ტეგი გამოიყენება.
- `type` და `language` ატრიბუტები არასავალდებულოა.
- გარე ფაილად არსებული სკრიპტის ჩასმა შემდეგნაირად არის შესაძლებელი: `<script src="path/to/script.js"></script>`.
ჯერ კიდევ ბევრი რამ გვაქვს განსახილველი ბრაუზერის სკრიპტებისა და ვებგვერდთან მათი ურთიერთქმედების შესახებ, მაგრამ, როგორც უკვე აღვნიშნეთ, სახელმძღვანელოს ეს ნაწილი მიეძღვნა პროგრამირების ენა JavaScript-ს, ასე რომ, ნუ გაამახვილებთ ყურადღებას ბრაუზერთან დაკავშირებულ დეტალებზე. ჩვენ გამოვიყენებთ ბრაუზერს, როგორც გზას JavaScript-ის გასაშვებად, რაც ონლაინ კითხვის კონტექსტში ძალიან მოსახერხებელია, თუმცა ეს არ გახლავთ ერთადერთი გზა.