Các tập tin javascript ở bên ngoài phải có thẻ ?
Bài viết được dịch từ nguồn: https://eager.io/blog/everything-I-know-about-the-script-tag/ Như các bạn đã biết, thẻ HTML5 đã bổ sung thêm một cặp công cụ để kiểm soát khi các script được thực thi.
Thuộc tính Lịch sử đã ghi nhận (từ khi có Netscape 2), không có vấn đề gì nếu bạn chỉ rõ
Các hoạt động thực sự của mã code sau đó là tùy thuộc vào bạn
Các bạn có thể tự tìm hiểu chức năng Nếu bạn thực sự mong muốn, bạn cũng có thể ghi đè lên các
Hoặc tiêu đề Hãy xem “Tóm lược lịch sử của ngôn ngữ Weird Scripting" để biết thêm chi tiết về những types nào là hợp lệ. Có một thuộc tính Thuộc tính Nếu bạn chọn để sử dụng điều này, ban bao gồm hash bạn đang sử dụng, và hash này có giá trị, được mở rộng bằng một dấu gạch ngang. Nó trông như:
Nó không được chuẩn hóa hoàn toàn, nhưng có một thuộc tính Điều này để ngăn bạn khỏi việc tạo các yêu cần đến trang web cạnh tranh – nơi có thể hủy bỏ các tài khoản người dùng hiện có. Mặc dù sự kết nối của nó đến thẻ script có phần ngẫu nhiên. Ý tưởng là nếu bạn áp dụng một
handler cho sự kiện Mặc dù document.currentScript Nó không hỗ trợ IE, tạo ra cho nó điều gì đó mới mẻ, nhưng có một thuộc tính được gọi là onafterscriptexecute?! Nó thực sự rất vô dụng, bởi chỉ hỗ trợ trên Firefox. Nó cùng với for / event Cho đến ngày nay spec HTML5 bao gồm một phương pháp hiếm thấy (cụ thể là trước IE-specific) ràng buộc mã với một sự kiện. Bạn có thể làm điều này để có một thẻ script không chạy cho đến khi tải bắt đầu tải về.
Tôi thực sự không thể thực hiện việc này trên Chrome hoặc Firefox (làm cho chúng không phù hợp với tiêu chuẩn), nhưng với IE thì nó vẫn là một cơ hội tốt. NOSCRIPT Giống như cha mẹ của bạn, thật khó để tin vào khoảng thời gian khi JavaScript mới xuất hiện. Đã từng có khoảng thời gian, bạn không dám chắc rằng liệu trình duyệt được cung cấp có hỗ trợ JaveScript hay không. Thậm chí tệ hơn, bạn không chắc rằng trình duyệt có thể xác định cái gì là thẻ script. Và nếu một trình duyệt không nhận ra đâu là thẻ, có có chức năng biểu diễn như là một phần từ inline tổng quát, nghĩa là tất cả các JavaScript bí mật của bạn sẽ được biểu diễn trên một trang ở dạng chữ. May mắn thay, spec đã phát huy tác dịnh trong việc đưa ra giải pháp, đóng gói mã code của bạn trong một thứ gì đó mà trình duyệt không hỗ trợ sẽ hiểu như là một nhận xét HTML
Tất nhiên, giống như hầu hết mọi thứ, XHTML làm tệ hơn nhiều. XML có một phương pháp vô cùng đặc biệt để thoại khỏi nội cung có thể chứa các thẻ đống và theo cách đó, CDATA được hình thành.
Theo đó, mã của bạn sẽ là XHTML. Điều này sẽ không có bất kỳ tác động vào chức năng của nó, nhưng là vô cùng quan trọng để tự đánh giá bạn là một nhà phát triển web. Các trình duyệt cũng bao gồm một phương pháp hữu ích cho phép bạn thông báo những người đã không kích hoạt Javascript.
Nếu bạn tinh ý, bạn sẽ nhận ra rằng Script Tags and Các thẻ script được tự động thêm vào trang web thông qua DOM được thực thi bởi trình duyệt
Tuy nhiên điều đó lại không xảy ra với những thẻ script được tự động thêm vào trang web thông qua
Tại sao điều đó lại không rõ ràng, nhưng đó là một câu trả lời hài hước cho câu hỏi thách đố "Liệu có thể có một thẻ script hiển trị trong trình kiểm tra Chrome mà đã không thực sự chạy?". Bạn cũng có thể tận dụng điều này để thách đố, chơi khăm bạn của mình. |