JavaScript, còn được gọi là JS, là một trong những ngôn ngữ kịch bản (kịch bản phía máy khách), thường được sử dụng trong phát triển web để tạo các trang web hiện đại và tương tác. Thuật ngữ "script" được sử dụng để chỉ các ngôn ngữ không độc lập về bản chất và ở đây nó đề cập đến JavaScript chạy trên máy khách Show Nói cách khác, chúng ta có thể nói rằng thuật ngữ kịch bản được sử dụng cho các ngôn ngữ yêu cầu sự hỗ trợ của ngôn ngữ khác để được thực thi. Ví dụ: các chương trình JavaScript không thể được thực thi nếu không có sự trợ giúp của HTML hoặc không được tích hợp vào mã HTML JavaScript được sử dụng theo nhiều cách trong các trang web như tạo thông báo cảnh báo, xây dựng thư viện hình ảnh, thao tác DOM, xác thực biểu mẫu, v.v. Thêm JavaScript vào các trang HTMLCó ba cách sau để người dùng có thể thêm JavaScript vào các trang HTML
Chúng ta sẽ thấy ba trong số họ từng bước I. mã nhúng. -Để thêm mã JavaScript vào các trang HTML, chúng ta có thể sử dụng thẻ của HTML bao quanh mã JavaScript bên trong chương trình HTML. Người dùng cũng có thể xác định mã JavaScript trong thẻ (hay có thể nói là phần nội dung) hoặc thẻ vì nó hoàn toàn phụ thuộc vào cấu trúc của trang web mà người dùng sử dụng Chúng ta có thể hiểu điều này rõ ràng hơn với sự trợ giúp của một ví dụ, cách thêm JavaScript vào html Thí dụ đầu ra Chúng tôi cũng có thể xác định mã JavaScript trong thẻ hoặc phần nội dung Hãy hiểu thông qua một ví dụ đầu ra II. mã nội tuyến. -Nói chung, phương thức này được sử dụng khi chúng ta phải gọi một hàm trong thuộc tính sự kiện HTML. Có nhiều trường hợp (hoặc sự kiện) trong đó chúng tôi phải thêm mã JavaScript trực tiếp, ví dụ:. , sự kiện OnMover, OnClick, v.v. Hãy xem với sự trợ giúp của một ví dụ, cách chúng ta có thể thêm JavaScript trực tiếp vào html mà không cần sử dụng thẻ Hãy xem ví dụ đầu ra III. tệp bên ngoài. -Chúng tôi cũng có thể tạo một tệp riêng để chứa mã JavaScript bằng (. js) và sau đó kết hợp/đưa nó vào tài liệu HTML của chúng tôi bằng cách sử dụng thuộc tính src của thetag cũng không được sử dụng trong đó Phần tử noscript HTMLPhần tử cung cấp cho chúng tôi một cách khác để tạo nội dung cho người dùng có trình duyệt không hỗ trợ JavaScript hoặc đã tắt JavaScript trong trình duyệt Để bao gồm tệp JavaScript bên ngoài, chúng ta có thể sử dụng thẻ script có thuộc tính
Thẻ tập lệnh này phải được bao gồm giữa các thẻ trong tài liệu HTML của bạn Tệp JavaScriptTệp JavaScript không phải là tệp HTML hoặc tệp CSS
Theo thông lệ, đặt tất cả các tệp JavaScript vào một thư mục có tên là js trên các trang web, như vậy Bản demo đơn giản bao gồm JavaScriptDưới đây là minh họa rất đơn giản về cách đưa tệp JavaScript bên ngoài vào trang HTML JavaScript của người khácĐối với lớp này, bạn không cần phải viết bất kỳ mã JavaScript thực tế nào. Thật may mắn cho bạn, nhiều người đã viết rất nhiều JavaScript và thậm chí còn cho phép bạn sử dụng nó miễn phí Khung JavaScriptFramework về cơ bản là một thư viện mã cho một ngôn ngữ nhất định. Nói chung, khung trừu tượng hóa các tác vụ phổ biến và giúp các nhà thiết kế và nhà phát triển viết mã cụ thể của họ dễ dàng và nhanh hơn. Các khung không thực sự tự làm bất cứ điều gì, chúng chỉ cung cấp một nền tảng dễ dàng hơn để mọi người xây dựng trên đó Khung JavaScript phổ biến Trong số các khung này, JQuery hiện là khung phổ biến nhất. Đó cũng là từ mà bạn muốn gặp nhất khi được sử dụng như một từ thông dụng Kích thước tệp JavaScriptNhiều tệp JavaScript có xu hướng khá lớn, điều này có thể làm chậm thời gian tải trang của bạn. Các khung phổ biến thường cung cấp phiên bản mã "rút gọn" của chúng. Bạn phải luôn sử dụng phiên bản này trong các trang của mình vì phiên bản này sẽ có kích thước tệp nhỏ hơn Phần tử HTML 0. Bỏ sót thẻKhông có, cả thẻ bắt đầu và thẻ kết thúc đều bắt buộc. Cha mẹ được phép Bất kỳ phần tử nào chấp nhận hoặc bất kỳ phần tử nào chấp nhận. Vai trò ARIA ngầm định Vai trò ARIA được phép Không có 1 được phép Giao diện DOM 2Phần tử này bao gồm các thuộc tính toàn cục Đối với tập lệnh cổ điển, nếu có thuộc tính 3 thì tập lệnh cổ điển sẽ được tìm nạp song song với quá trình phân tích cú pháp và được đánh giá ngay khi có sẵnĐối với các tập lệnh mô-đun, nếu có thuộc tính 3 thì tập lệnh và tất cả các phần phụ thuộc của chúng sẽ được thực thi trong hàng đợi trì hoãn, do đó chúng sẽ được tìm nạp song song với quá trình phân tích cú pháp và được đánh giá ngay khi có sẵnThuộc tính này cho phép loại bỏ JavaScript chặn trình phân tích cú pháp trong đó trình duyệt sẽ phải tải và đánh giá các tập lệnh trước khi tiếp tục phân tích cú pháp. 6 có tác dụng tương tự trong trường hợp nàyĐây là một thuộc tính boolean. sự hiện diện của thuộc tính boolean trên một phần tử biểu thị giá trị thực và sự vắng mặt của thuộc tính biểu thị giá trị sai Xem ghi chú về hỗ trợ trình duyệt. Xem thêm Tập lệnh không đồng bộ cho asm. js Các phần tử 8 bình thường chuyển thông tin tối thiểu tới 9 đối với các tập lệnh không vượt qua kiểm tra CORS tiêu chuẩn. Để cho phép ghi nhật ký lỗi cho các trang web sử dụng miền riêng cho phương tiện tĩnh, hãy sử dụng thuộc tính này. Xem các thuộc tính cài đặt CORS để biết giải thích mô tả rõ hơn về các đối số hợp lệ của nóThuộc tính Boolean này được đặt để cho trình duyệt biết rằng tập lệnh sẽ được thực thi sau khi tài liệu đã được phân tích cú pháp, nhưng trước khi kích hoạt 1Các tập lệnh có thuộc tính 6 sẽ ngăn sự kiện 1 kích hoạt cho đến khi tập lệnh được tải và đánh giá xongCảnh báo. Không được sử dụng thuộc tính này nếu không có thuộc tính 4 (i. e. đối với các tập lệnh nội tuyến), trong trường hợp này, nó sẽ không có tác dụngThuộc tính 6 không có tác dụng đối với các tập lệnh mô-đun — chúng trì hoãn theo mặc địnhCác tập lệnh có thuộc tính 6 sẽ thực thi theo thứ tự xuất hiện trong tài liệuThuộc tính này cho phép loại bỏ JavaScript chặn trình phân tích cú pháp trong đó trình duyệt sẽ phải tải và đánh giá các tập lệnh trước khi tiếp tục phân tích cú pháp. 3 có tác dụng tương tự trong trường hợp này Thực nghiệmCung cấp gợi ý về mức độ ưu tiên tương đối để sử dụng khi tìm nạp tập lệnh bên ngoài. Giá trị được phép 9Báo hiệu tìm nạp có mức độ ưu tiên cao so với các tập lệnh bên ngoài khác 0Báo hiệu tìm nạp có mức độ ưu tiên thấp so với các tập lệnh bên ngoài khác 1Vỡ nợ. Tín hiệu tự động xác định mức độ ưu tiên tìm nạp so với các tập lệnh bên ngoài khác Thuộc tính này chứa siêu dữ liệu nội tuyến mà tác nhân người dùng có thể sử dụng để xác minh rằng tài nguyên được tìm nạp đã được phân phối mà không bị thao tác ngoài ý muốn. Xem tính toàn vẹn của tài nguyên con Thuộc tính Boolean này được đặt để chỉ ra rằng tập lệnh không nên được thực thi trong các trình duyệt hỗ trợ mô-đun ES — trên thực tế, thuộc tính này có thể được sử dụng để phân phối tập lệnh dự phòng cho các trình duyệt cũ hơn không hỗ trợ mã JavaScript mô-đun Một nonce mật mã (số được sử dụng một lần) để cho phép các tập lệnh trong script-src Content-Security-Policy. Máy chủ phải tạo một giá trị nonce duy nhất mỗi khi nó truyền một chính sách. Điều quan trọng là cung cấp một nonce không thể đoán được vì việc bỏ qua chính sách của tài nguyên là chuyện nhỏ Cho biết liên kết giới thiệu nào sẽ gửi khi tìm nạp tập lệnh hoặc tài nguyên do tập lệnh tìm nạp
Ghi chú. Giá trị chuỗi trống ( 6) vừa là giá trị mặc định vừa là giá trị dự phòng nếu không hỗ trợ 5. Nếu 5 không được chỉ định rõ ràng trên phần tử <script> , nó sẽ áp dụng chính sách giới thiệu cấp cao hơn, tôi. e. một bộ trên toàn bộ tài liệu hoặc miền. Nếu không có chính sách cấp cao hơn, thì chuỗi trống được coi là tương đương với 4Thuộc tính này chỉ định URI của tập lệnh bên ngoài; 2Thuộc tính này cho biết loại tập lệnh được đại diện. Giá trị của thuộc tính này sẽ là một trong những giá trị sau Thuộc tính không được đặt (mặc định), chuỗi trống hoặc loại MIME JavaScriptCho biết tập lệnh là "tập lệnh cổ điển", chứa mã JavaScript. Các tác giả được khuyến khích bỏ qua thuộc tính nếu tập lệnh đề cập đến mã JavaScript thay vì chỉ định loại MIME. Các loại MIME JavaScript là 3Giá trị này khiến mã được coi là mô-đun JavaScript. Việc xử lý nội dung tập lệnh bị hoãn lại. Các thuộc tính 4 và 6 không có tác dụng. Để biết thông tin về cách sử dụng 3, hãy xem hướng dẫn mô-đun JavaScript của chúng tôi. Không giống như tập lệnh cổ điển, tập lệnh mô-đun yêu cầu sử dụng giao thức CORS để tìm nạp nguồn gốc chéo 7Giá trị này chỉ ra rằng phần thân của phần tử chứa bản đồ nhập. Bản đồ nhập là một đối tượng JSON mà nhà phát triển có thể sử dụng để kiểm soát cách trình duyệt giải quyết các chỉ định mô-đun khi nhập Bất kỳ giá trị nào khácNội dung được nhúng được coi là một khối dữ liệu và sẽ không được trình duyệt xử lý. Nhà phát triển phải sử dụng loại MIME hợp lệ không phải là loại MIME JavaScript để biểu thị các khối dữ liệu. Tất cả các thuộc tính khác sẽ bị bỏ qua, bao gồm thuộc tính 4Thuộc tính này chỉ rõ ràng rằng một số hoạt động nhất định sẽ bị chặn khi tìm nạp tập lệnh. Các hoạt động bị chặn phải là một danh sách các thuộc tính chặn được phân tách bằng dấu cách được liệt kê bên dưới
không dùng nữa Nếu có, giá trị của nó phải là một kết hợp không phân biệt chữ hoa chữ thường ASCII cho " 2". Không cần chỉ định thuộc tính 4 vì tài liệu phải sử dụng UTF-8 và phần tử 8 kế thừa mã hóa ký tự của nó từ tài liệu Không dùng nữa Không chuẩnGiống như thuộc tính 2, thuộc tính này xác định ngôn ngữ kịch bản được sử dụng. Tuy nhiên, không giống như thuộc tính 2, các giá trị có thể có của thuộc tính này không bao giờ được chuẩn hóa. Thuộc tính 2 nên được sử dụng thay thếTập lệnh không có hoặc thuộc tính 1, cũng như tập lệnh nội tuyến không có thuộc tính 1, được tìm nạp và thực thi ngay lập tức, trước khi trình duyệt tiếp tục phân tích cú pháp trangTập lệnh phải được cung cấp với loại MIME 0, nhưng các trình duyệt sẽ khoan dung và chỉ chặn chúng nếu tập lệnh được cung cấp với loại hình ảnh ( 4), loại video ( 5), loại âm thanh ( 6) hoặc 7. Nếu tập lệnh bị chặn, một sự kiện 8 sẽ được gửi đến phần tử; Những ví dụ này cho thấy cách nhập tập lệnh (bên ngoài) bằng cách sử dụng phần tử
Và các ví dụ sau đây cho thấy cách đặt tập lệnh (nội tuyến) bên trong phần tử
Các trình duyệt hỗ trợ giá trị 3 cho thuộc tính sẽ bỏ qua bất kỳ tập lệnh nào có thuộc tính 3. Điều đó cho phép bạn sử dụng các tập lệnh mô-đun đồng thời cung cấp các tập lệnh dự phòng được đánh dấu 3 cho các trình duyệt không hỗ trợ
Khi nhập mô-đun trong tập lệnh, nếu bạn không sử dụng tính năng này, thì mỗi mô-đun phải được nhập bằng cách sử dụng trình xác định mô-đun là URL tuyệt đối hoặc tương đối. Trong ví dụ bên dưới, trình xác định mô-đun đầu tiên (". /hình dạng/hình vuông. js") phân giải tương ứng với URL cơ sở của tài liệu, trong khi URL thứ hai là URL tuyệt đối
Bản đồ nhập cho phép bạn cung cấp một ánh xạ, nếu phù hợp, có thể thay thế văn bản trong bộ xác định mô-đun. Bản đồ nhập bên dưới xác định các khóa
Điều này cho phép chúng tôi nhập các mô-đun bằng cách sử dụng tên trong trình xác định mô-đun (chứ không phải URL tuyệt đối hoặc tương đối)
Để biết thêm ví dụ về những gì bạn có thể làm với bản đồ nhập, hãy xem phần trong hướng dẫn mô-đun JavaScript Bạn cũng có thể sử dụng phần tử 2
Bạn có thể bao gồm mã thông báo 0 bên trong thuộc tính 9; . Trong ví dụ dưới đây, chúng tôi chặn hiển thị trên tập lệnh không đồng bộ để tập lệnh không chặn phân tích cú pháp nhưng được đảm bảo sẽ được đánh giá trước khi bắt đầu hiển thị
Làm cách nào để đưa JavaScript vào HTML? |