Tôi biết đây là thực hành xấu. Đừng viết mã như thế này nếu có thể.
Tất nhiên, chúng ta sẽ luôn thấy mình trong các tình huống trong đó một đoạn thông minh của JavaScript nội tuyến có thể giải quyết một vấn đề một cách nhanh chóng.
Tôi đang theo đuổi truy vấn này vì lợi ích của việc hiểu đầy đủ những gì xảy ra [và những cạm bẫy tiềm năng] khi một cái gì đó như thế này được viết:
Click Me
Theo như tôi có thể nói điều này có chức năng giống như
$[function[]{ // I use jQuery in this example
document.getElementById['click_me']. title =
function [] { alert['Hi']; };
}];
Click Me
Ngoại suy từ điều này, dường như chuỗi được gán cho thuộc tính title
được chèn trong một hàm ẩn danh được gán cho trình xử lý nhấp chuột của phần tử. Đây thực sự là trường hợp?
Bởi vì tôi bắt đầu làm những việc như thế này:
Display my next sibling
Mà hoạt động. Nhưng tôi không biết đây là bao nhiêu vụ hack. Có vẻ đáng ngờ vì không có chức năng rõ ràng nào được trả lại từ!
Bạn có thể hỏi, tại sao bạn lại làm điều này, Steve? Inline JS là thực hành xấu!
Thành thật mà nói, tôi mệt mỏi khi chỉnh sửa ba phần mã khác nhau chỉ để sửa đổi một phần của một trang, đặc biệt là khi tôi chỉ tạo mẫu một cái gì đó để xem nó có hoạt động không. Nó dễ dàng hơn nhiều và đôi khi thậm chí còn có ý nghĩa đối với mã liên quan cụ thể đến yếu tố HTML này được xác định ngay trong yếu tố: khi tôi quyết định 2 phút sau đó là một ý tưởng khủng khiếp, khủng khiếp, tôi có thể tìm thấy toàn bộ div [hoặc bất cứ điều gì ] Và tôi không có một loạt các JS và CSS bí ẩn treo xung quanh trong phần còn lại của trang, làm chậm kết xuất một chút. Điều này tương tự như khái niệm địa phương của tài liệu tham khảo nhưng thay vì nhớ bộ đệm, chúng tôi đang xem xét lỗi và mã vạch.
Thí dụ
Viết "Xin chào JavaScript!" với JavaScript:
Document.getEuityById ["Demo"]. Internhtml = "Xin chào JavaScript!";
document.getElementById["demo"].innerHTML = "Hello JavaScript!";
Hãy tự mình thử »
Định nghĩa và cách sử dụng
Thẻ được sử dụng để nhúng tập lệnh phía máy khách [JavaScript].
Phần tử chứa các câu lệnh scripting hoặc nó trỏ đến tệp tập lệnh bên ngoài thông qua thuộc tính SRC.
Sử dụng phổ biến cho JavaScript là thao tác hình ảnh, xác thực hình thức và thay đổi động của nội dung.
Lời khuyên và ghi chú
Mẹo: Ngoài ra, hãy xem phần tử cho người dùng đã vô hiệu hóa các tập lệnh trong trình duyệt của họ hoặc có trình duyệt không hỗ trợ kịch bản phía máy khách. Also look at the element for users that have disabled scripts in their browser, or have a browser that doesn't support client-side scripting.
Mẹo: Nếu bạn muốn tìm hiểu thêm về JavaScript, hãy truy cập hướng dẫn JavaScript của chúng tôi. If you want to learn more about JavaScript, visit our JavaScript Tutorial.
Hỗ trợ trình duyệt
Đúng | Đúng | Đúng | Đúng | Đúng |
Thuộc tính
không đồng bộ | không đồng bộ | Chỉ định rằng tập lệnh được tải xuống song song để phân tích trang và được thực thi ngay khi có sẵn [trước khi phân tích hoàn thành] [chỉ cho các tập lệnh bên ngoài] |
Crossorigin | Nonymoususe-Tín dụng use-credentials | Đặt chế độ của yêu cầu thành yêu cầu HTTP CORS |
hoãn lại | hoãn lại | Chỉ định rằng tập lệnh được tải xuống song song để phân tích trang và được thực thi sau khi trang hoàn thành phân tích cú pháp [chỉ cho các tập lệnh bên ngoài] |
sự toàn vẹn | FILEHASH | Cho phép trình duyệt kiểm tra tập lệnh được tìm nạp để đảm bảo rằng mã không bao giờ được tải nếu nguồn đã bị thao tác |
Nomodule | Đúng sai False | Chỉ định rằng tập lệnh không nên được thực thi trong các trình duyệt hỗ trợ các mô -đun ES2015 |
Giới thiệu | No-Referrerno-Referrer-When-DownGradeArigin-Khi-Vô-Ross-Originsame-OriginStrict-Origin-Strict-Origin-When-Cross-Originununsafe-Url no-referrer-when-downgrade origin origin-when-cross-origin same-origin strict-origin strict-origin-when-cross-origin unsafe-url | Chỉ định thông tin giới thiệu nào để gửi khi tìm nạp tập lệnh |
SRC | URL | Chỉ định URL của tệp tập lệnh bên ngoài |
loại hình | ScripttType | Chỉ định loại phương tiện của tập lệnh |
Sự khác biệt giữa HTML và XHTML
Trong XHTML, nội dung bên trong tập lệnh được khai báo là #pcdata [thay vì CDATA], điều đó có nghĩa là các thực thể sẽ được phân tích cú pháp.
Điều này có nghĩa là trong XHTML, tất cả các ký tự đặc biệt nên được mã hóa hoặc tất cả nội dung nên được bọc bên trong phần CDATA:
//
// var i = 10;
if [i < 5] {
// some code
}
//]]>
Thuộc tính toàn cầu
Thẻ cũng hỗ trợ các thuộc tính toàn cầu trong HTML.
Các trang liên quan
Hướng dẫn HTML: Các tập lệnh HTML
Tham khảo HTML DOM: Đối tượng tập lệnh
Hướng dẫn JavaScript: Tìm hiểu JavaScript
Cài đặt CSS mặc định
Hầu hết các trình duyệt sẽ hiển thị phần tử với các giá trị mặc định sau: