-
ახლა კიდევ ერთი რაღაც მინდა გაჩვენო,
რაც შეიძლება გააკეთო ობიექტით 'event'.
-
ვებ-გვერდი, რომელიც მე შევქმენი
პასუხობს საუკუნის კითხვას:
-
"რას ამბობს ოჰარა?"
-
ან, უფრო ზუსტად რომ ვთქვათ, რას იტყოდა
ოჰარა, მისი გაგონება რომ შეგეძლოთ?
-
თუ ბმულზე გადახვალ, აღმოაჩენ mp3 ფაილს
-
რომელიც უნდა ჩაირთოს შენს ბრაუზერში
და გაგცეს პასუხი ამ საჭირბოროტო კითხვაზე.
-
მაგრამ მე არ მინდა, რომ მომხმარებელს
გვერდის დატოვება უწევდეს;
-
მინდა, რომ ფაილის მოსმენა გვერდზევე შეეძლოს.
-
ამის გაკეთება JavaSript-ით შეიძლება,
თეგით
-
რომელიც დაუკრავს ფაილს, როცა მომხმარებელი
დააჭერს ბმულს.
-
პირველ რიგში, შევინახოთ ბმული ცვლადში.
-
[ბეჭდავს]
-
ახლა განვსაზღვროთ გამოძახების ფუნქცია.
-
ეს საკმაოდ საინტერესო პროცესი უნდა იყოს.
-
ამ უკუგამოძახების ფუნქციით გვინდა
აუდიო თეგის დინამიკური შექმნა
-
[ბეჭდავს]
-
ეს ახალი, ძალიან კარგი თეგი მუშაობს
თანამედროვე ბრაუზერებში.
-
audio.src უნდა უდრიდეს..
-
იმას, რაც აქ ზემოთ არის 'href' -
აუდიო და ვიზუალური თეგები ჰგავს ერთმანეთს.
-
შემდეგ უნდა ჩავწეროთ, რომ
`audioEl.autoplay = true' -
-
ასე ფაილი ჩაირთვება,
როგორც დავამატებთ მას გვერდზე
-
დაბოლოს, სწორედ ეს უნდა ვქნათ - დავამატოთ
ფაილი გვერდზე.
-
მნიშვნელობა არ აქვს, სად ჩავსვამ მას
-
იმიტომ რომ ვიზუალურად არსად არ გამოჩნდება.
-
მოკლედ ახლა ბმულზე დაწკაპუნებისას
უნდა შექმნას აუდიო, განისაზღვროს წყარო,
-
დაყენდეს ავტომატური დაკვრა და
დაემატოს გვერდზე.
-
დაბოლოს, უნდა დავრწმუნდეთ, რომ
ბმულზე დაჭერისას
-
გამოიძახება event listener.
-
[ბეჭდავს]
-
და ბოლოს უბრალოდ ვწერთ ფუნქციის სახელს.
-
წესი იცი: დააპაუზე ტუტორიალი
და სცადე დამოუკიდებლად.
-
♪ ხმა ♪
-
რა მოხდა?
-
ჩემთან ისმის ოჰარას ხმას
-
მაგრამ ბმული მაინც ახალ ფანჯარაში იხსნება.
-
იდეალურ ვარიანტში, როცა აუდიო დაიკვრება,
ბრაუზერმა აღარ უნდა გადაიყვანოს
-
მომხმარებელი ბმულზე, იმიტომ რომ
ხმა უკვე გაიგონეს.
-
ამის მისაღწევად უნდა ვუბრძანოთ ბრაუზერს
შეწყვიტოს თავდაპირველი ქცევა.
-
როგორც ხედავთ, თავდაპირველი პარამეტრებით,
როცა მომხმარებელი აჭერს ბმულს,
-
ბრაუზერს იგი ამ ბმულზე გადაყავს.
-
მაგრამ ხშირად ჩვენ ჩვენს წესებს ვუწერთ
JavaScript-ით
-
იმიტომ რომ არ გვინდა, რომ ბრაუზერი ბმულზე
გადადიოდეს.
-
ამისთვის ვიყენებთ 'even'-ის თვისებას,
-
რომელსაც ჰქვია 'preventDefault()'
-
უნდა მივმართოთ მოვნელის ობიექტს
-
და აქ, შიგნით, ჩავწეროთ
'e.preventDefault()'
-
ეს შეატყობინებს ბრაუზერს, რომ
ამ მოვლენასთან ასოცირებული
-
თავდაპირველი ქცევა უნდა შეწყდეს.
-
ახლა დააპაუზეთ ტუტორიალი და სცადეთ
თავიდან.
-
ახლა უბრალოდ ხმა გაიგონეთ, ხომ ასეა?
-
ეს პროდუქტის მოხმარებას უფრო
სასიამოვნოს ხდის.
-
ასეთ ცვლილებებს ეძახიან
"პროგრესულ დატვირთვას"
-
როცა ვებ-გვერდი იწყება როგორც HTML
ბრაუზერის ქცევის თავდაპირველი პარამეტრებით
-
და შემდეგ JavaScript-ით იტვირთება,
უკეთესი სამომხმარებლო გამოცდილების მისაღებად.
-
ამ 'preventDefault'-ს ხშირად გამოიყენებ,
-
როცა ბმულებზე რამე მოსასმენს განათავსებ.
-
შეიძლება ასევე ფორმების პროცესის დროსაც
გამოიყენო,
-
იმიტომ რომ ბრაუზერს ამ შემთხვევისთვისაც
აქვს რაღაც განსაზღვრული თავდაპირველი პარამეტრები,
-
მაგ. სერვერთან დაკავშირების.
-
მთავარია, ყოველთვის ვფიქრობდეთ
მომხმარებლის გამოცდილებაზე,
-
და თუ ის არ არის ოპტიმალური
შენს ვებ-გვერდზე
-
უნდა მოიფიქრო, როგორ შეიძლება მისი გაუმჯობესება.
-
აქ შეიძლება ყველაფერი ვერ გასწავლოთ,
-
მაგრამ ინტერნეტში ყველა კითხვაზე იპოვი
პასუხს.