Return to Video

Putting JS In a webpage (Video Version)

  • 0:01 - 0:07
    Một trang web cơ bản, như trang web này, được tạo thành từ các tag HTML, như này.
  • 0:07 - 0:12
    Bây giờ, khi muốn thiết kế một trang web, làm cách nào ta có thể đưa CSS vào?
  • 0:12 - 0:14
    Ta thêm một tag ``.
  • 0:14 - 0:17
    Khi đó trình duyệt sẽ hiểu
  • 0:17 - 0:20
    cần sử dụng công cụ CSS để xử lý tag.
  • 0:20 - 0:23
    Ta thường đưa tag `` vào `<head>`,
  • 0:23 - 0:27
    vì ta muốn đảm bảo trình duyệt xử lý các style
  • 0:27 - 0:31
    trước khi kết xuất thẻ HTML.
  • 0:31 - 0:35
    Mặt khác, nếu ta đưa `` vào dưới cùng,
  • 0:35 - 0:40
    thì ta sẽ gặp phải FOUC: flash of unstyled content,
  • 0:40 - 0:45
    và người ta sẽ thấy trang web như đang trần truồng vây – ghê lắm!
  • 0:45 - 0:48
    Trả nó về vị trí cũ thôi.
  • 0:48 - 0:52
    Ok, vậy là trang web đã có style.
  • 0:52 - 0:58
    Ta đưa Javascript vào trang web bằng cách nào khi muốn thêm tính tương tác?
  • 0:58 - 1:01
    Lúc đó, ta sẽ thêm tag ``.
  • 1:01 - 1:04
    Và vị trí thích hợp nhất để đưa tag `` vào
  • 1:04 - 1:11
    là ở dưới cùng trang ngay trước tag kết thúc ``.
  • 1:11 - 1:15
    Tôi đã đưa vào rồi, và lát nữa tôi sẽ giải thích tại sao.
  • 1:15 - 1:20
    Bây giờ tôi có thể đưa gì vào tag `` này?
  • 1:20 - 1:25
    Hmm, ta có thể đưa vào bất kỳ Javascript hợp lệ nào, ví dụ `var 4 = 2 + 2;`.
  • 1:25 - 1:30
    Nhưng thế thì chẳng vui gì, vì chẳng có gì trên trang web cả.
  • 1:30 - 1:33
    Và nếu đã học ở Học viện Khan, thì hẳn các bạn cũng thừa biết
  • 1:33 - 1:36
    4 = 2 + 2.
  • 1:36 - 1:39
    Vì vậy tôi có thể kiểm tra xem nó có hoạt động hay không
  • 1:39 - 1:42
    bằng cách viết dòng mã này ở đây.
  • 1:42 - 1:45
    OK, các bạn không thấy gì phải không?
  • 1:45 - 1:49
    Có lẽ các bạn cũng chưa từng nhìn thấy hàm này nữa.
  • 1:49 - 1:53
    Hàm này, `console.log`, là một hàm đặc biệt mà ta có thể sử dụng
  • 1:53 - 1:56
    trong nhiều môi trường Javascript, bao gồm cả trình duyệt.
  • 1:56 - 2:00
    Và nó sẽ viết mọi thứ vào console Javascript.
  • 2:00 - 2:04
    Các bạn có thể tìm thấy console trong trình duyệt
  • 2:04 - 2:09
    bằng cách ấn Command-Option-I, hoặc Control-Option-I,
  • 2:09 - 2:14
    hoặc click chuột phải vào bất kỳ vị trí nào trên trang, và chọn “Inspect element”.
  • 2:14 - 2:19
    Ta tạm dừng một chút, và đưa ra console dev
  • 2:19 - 2:22
    để xem thông báo.
  • 2:22 - 2:24
    Các bạn thấy chứ? Tuyệt!
  • 2:24 - 2:27
    Giờ thì các bạn có thể tắt console đi nếu muốn,
  • 2:27 - 2:29
    vì nó tốn diện tích quá.
  • 2:29 - 2:33
    Nó cũng có thể gây mất tập trung nữa vì sẽ hiển thị tất tật mọi lỗi khi tôi gõ.
  • 2:33 - 2:36
    Dù vậy nó vẫn là công cụ khắp phục lỗi hiệu quả.
  • 2:36 - 2:38
    Vì vậy hãy nhớ lưu vào toolbox nhé.
  • 2:38 - 2:42
    Bây giờ tôi sẽ mượn Javascript để xử lý trang này,
  • 2:42 - 2:47
    với một dòng mã chưa được ăn nhập lắm.
  • 2:57 - 2:59
    Các bạn thấy chuyện gì xảy ra không?
  • 2:59 - 3:03
    Trang web đã biến mất, và thay vào đó là thông báo “leet hacker”.
  • 3:03 - 3:08
    Ta sẽ tìm hiểu sâu hơn cách hoạt động của dòng mã này.
  • 3:08 - 3:12
    Về cơ bản nó tìm thấy tag ``, và thay thế nội dung.
  • 3:12 - 3:17
    Bây giờ chuyện gì sẽ xảy ra nếu tôi sao chép và dán tag `` này,
  • 3:17 - 3:20
    và gắn vào `` cùng với tag ``?
  • 3:20 - 3:23
    Không hoạt động – tại sao thế?
  • 3:23 - 3:27
    Vì trang web đánh giá tag ``
  • 3:27 - 3:29
    trước khi nhìn thấy tag ``.
  • 3:29 - 3:35
    Và nói rằng “Uh oh, tôi còn chưa cả thấy `document.body` bao giờ nữa,
  • 3:35 - 3:38
    “Thế mà ông muốn xử lý nó à! Không được đâu.”
  • 3:38 - 3:44
    Đó là lý do vì sao ta phải đặt tag `` ở cuối trang.
  • 3:44 - 3:47
    Để trang web nhìn thấy tag `` trước,
  • 3:47 - 3:51
    xem xét mọi thứ trong đó, rồi ta mới xử lý được.
  • 3:51 - 3:55
    Ta muốn đảm bảo trang web phải tồn tại trước đã.
  • 3:55 - 3:57
    Đó là điều khác biệt với CSS:
  • 3:57 - 4:00
    Ta muốn đặt tag `` ở đầu,
  • 4:00 - 4:03
    vì trình phân tích cú pháp của CSS có thể áp dụng style
  • 4:03 - 4:04
    với những thứ còn chưa tồn tại.
  • 4:04 - 4:07
    Nó sẽ áp dụng khi chúng xuất hiện.
  • 4:07 - 4:10
    Nhưng Javascript DOM thì không.
  • 4:10 - 4:13
    Vì vậy hãy đảm bảo đưa nó xuống dưới cùng.
  • 4:13 - 4:16
    Hãy thử thêm tag `` trong thử thách tiếp theo,
  • 4:16 - 4:19
    và đảm bảo đặt nó ở dưới cùng,
  • 4:19 - 0:00
    Tôi hứa sẽ giải thích nhiều hơn về dòng này trong bài hướng dẫn tới.
Title:
Putting JS In a webpage (Video Version)
Description:

more » « less
Video Language:
English
Duration:
04:26

Vietnamese subtitles

Incomplete

Revisions