0:00:00.461,0:00:05.742 ახლა კიდევ ერთი რაღაც მინდა გაჩვენო,[br]რაც შეიძლება გააკეთო ობიექტით 'event'. 0:00:05.742,0:00:09.936 ვებ-გვერდი, რომელიც მე შევქმენი[br]პასუხობს საუკუნის კითხვას: 0:00:09.936,0:00:12.150 "რას ამბობს ოჰარა?" 0:00:12.150,0:00:16.599 ან, უფრო ზუსტად რომ ვთქვათ, რას იტყოდა[br]ოჰარა, მისი გაგონება რომ შეგეძლოთ? 0:00:16.599,0:00:20.589 თუ ბმულზე გადახვალ, აღმოაჩენ mp3 ფაილს 0:00:20.589,0:00:25.163 რომელიც უნდა ჩაირთოს შენს ბრაუზერში [br]და გაგცეს პასუხი ამ საჭირბოროტო კითხვაზე. 0:00:25.163,0:00:30.009 მაგრამ მე არ მინდა, რომ მომხმარებელს[br]გვერდის დატოვება უწევდეს; 0:00:30.009,0:00:33.445 მინდა, რომ ფაილის მოსმენა გვერდზევე შეეძლოს. 0:00:33.445,0:00:37.891 ამის გაკეთება JavaSript-ით შეიძლება,[br]თეგით 0:00:37.891,0:00:40.957 რომელიც დაუკრავს ფაილს, როცა მომხმარებელი[br]დააჭერს ბმულს. 0:00:40.957,0:00:45.109 პირველ რიგში, შევინახოთ ბმული ცვლადში. 0:00:45.109,0:00:48.078 [ბეჭდავს] 0:00:55.770,0:00:58.099 ახლა განვსაზღვროთ გამოძახების ფუნქცია. 0:00:58.099,0:01:03.735 ეს საკმაოდ საინტერესო პროცესი უნდა იყოს. 0:01:03.735,0:01:10.165 ამ უკუგამოძახების ფუნქციით გვინდა [br]აუდიო თეგის დინამიკური შექმნა 0:01:10.165,0:01:12.033 [ბეჭდავს] 0:01:15.816,0:01:19.825 ეს ახალი, ძალიან კარგი თეგი მუშაობს[br]თანამედროვე ბრაუზერებში. 0:01:19.825,0:01:26.104 audio.src უნდა უდრიდეს.. 0:01:26.104,0:01:32.563 იმას, რაც აქ ზემოთ არის 'href' -[br]აუდიო და ვიზუალური თეგები ჰგავს ერთმანეთს. 0:01:32.563,0:01:35.563 შემდეგ უნდა ჩავწეროთ, რომ [br]`audioEl.autoplay = true' - 0:01:37.335,0:01:40.333 ასე ფაილი ჩაირთვება, [br]როგორც დავამატებთ მას გვერდზე 0:01:40.333,0:01:42.953 დაბოლოს, სწორედ ეს უნდა ვქნათ - დავამატოთ[br]ფაილი გვერდზე. 0:01:42.953,0:01:45.574 მნიშვნელობა არ აქვს, სად ჩავსვამ მას 0:01:45.574,0:01:48.064 იმიტომ რომ ვიზუალურად არსად არ გამოჩნდება. 0:01:48.064,0:01:52.295 მოკლედ ახლა ბმულზე დაწკაპუნებისას[br]უნდა შექმნას აუდიო, განისაზღვროს წყარო, 0:01:52.295,0:01:55.387 დაყენდეს ავტომატური დაკვრა და [br]დაემატოს გვერდზე. 0:01:55.387,0:01:59.444 დაბოლოს, უნდა დავრწმუნდეთ, რომ[br]ბმულზე დაჭერისას[br] 0:01:59.444,0:02:01.376 გამოიძახება event listener. 0:02:01.376,0:02:03.723 [ბეჭდავს] 0:02:08.283,0:02:12.951 და ბოლოს უბრალოდ ვწერთ ფუნქციის სახელს. 0:02:12.951,0:02:17.385 წესი იცი: დააპაუზე ტუტორიალი [br]და სცადე დამოუკიდებლად. 0:02:17.385,0:02:19.729 ♪ ხმა ♪ 0:02:19.729,0:02:21.110 რა მოხდა? 0:02:21.110,0:02:26.337 ჩემთან ისმის ოჰარას ხმას 0:02:26.337,0:02:29.789 მაგრამ ბმული მაინც ახალ ფანჯარაში იხსნება. 0:02:29.789,0:02:33.476 იდეალურ ვარიანტში, როცა აუდიო დაიკვრება,[br]ბრაუზერმა აღარ უნდა გადაიყვანოს 0:02:33.476,0:02:37.548 მომხმარებელი ბმულზე, იმიტომ რომ [br]ხმა უკვე გაიგონეს. 0:02:37.548,0:02:42.920 ამის მისაღწევად უნდა ვუბრძანოთ ბრაუზერს[br]შეწყვიტოს თავდაპირველი ქცევა. 0:02:42.920,0:02:47.148 როგორც ხედავთ, თავდაპირველი პარამეტრებით,[br]როცა მომხმარებელი აჭერს ბმულს, 0:02:47.148,0:02:50.321 ბრაუზერს იგი ამ ბმულზე გადაყავს. 0:02:50.321,0:02:54.226 მაგრამ ხშირად ჩვენ ჩვენს წესებს ვუწერთ [br]JavaScript-ით 0:02:54.226,0:02:58.004 იმიტომ რომ არ გვინდა, რომ ბრაუზერი ბმულზე[br]გადადიოდეს. 0:02:58.004,0:03:02.731 ამისთვის ვიყენებთ 'even'-ის თვისებას, 0:03:02.731,0:03:05.299 რომელსაც ჰქვია 'preventDefault()' 0:03:05.299,0:03:09.897 უნდა მივმართოთ მოვნელის ობიექტს 0:03:09.897,0:03:15.830 და აქ, შიგნით, ჩავწეროთ[br]'e.preventDefault()' 0:03:15.830,0:03:19.420 ეს შეატყობინებს ბრაუზერს, რომ[br]ამ მოვლენასთან ასოცირებული 0:03:19.420,0:03:21.399 თავდაპირველი ქცევა უნდა შეწყდეს. 0:03:21.399,0:03:25.995 ახლა დააპაუზეთ ტუტორიალი და სცადეთ [br]თავიდან. 0:03:25.995,0:03:28.385 ახლა უბრალოდ ხმა გაიგონეთ, ხომ ასეა? 0:03:28.385,0:03:30.949 ეს პროდუქტის მოხმარებას უფრო[br]სასიამოვნოს ხდის. 0:03:30.949,0:03:34.959 ასეთ ცვლილებებს ეძახიან [br]"პროგრესულ დატვირთვას" 0:03:34.959,0:03:39.514 როცა ვებ-გვერდი იწყება როგორც HTML[br]ბრაუზერის ქცევის თავდაპირველი პარამეტრებით 0:03:39.514,0:03:44.650 და შემდეგ JavaScript-ით იტვირთება,[br]უკეთესი სამომხმარებლო გამოცდილების მისაღებად. 0:03:44.650,0:03:48.361 ამ 'preventDefault'-ს ხშირად გამოიყენებ, 0:03:48.361,0:03:50.445 როცა ბმულებზე რამე მოსასმენს განათავსებ. 0:03:50.445,0:03:54.447 შეიძლება ასევე ფორმების პროცესის დროსაც[br]გამოიყენო, 0:03:54.447,0:03:57.485 იმიტომ რომ ბრაუზერს ამ შემთხვევისთვისაც [br]აქვს რაღაც განსაზღვრული თავდაპირველი პარამეტრები, 0:03:57.485,0:03:59.264 მაგ. სერვერთან დაკავშირების. 0:03:59.264,0:04:02.640 მთავარია, ყოველთვის ვფიქრობდეთ[br]მომხმარებლის გამოცდილებაზე, 0:04:02.640,0:04:06.730 და თუ ის არ არის ოპტიმალური [br]შენს ვებ-გვერდზე 0:04:06.730,0:04:08.953 უნდა მოიფიქრო, როგორ შეიძლება მისი გაუმჯობესება. 0:04:08.953,0:04:11.366 აქ შეიძლება ყველაფერი ვერ გასწავლოთ, 0:04:11.366,0:04:15.499 მაგრამ ინტერნეტში ყველა კითხვაზე იპოვი[br]პასუხს.