2010-09-08 23 views
6

Tôi nghe nói (từ Crockford) thuộc tính loại nào trên các phần tử LINK và SCRIPT là thừa khi các phần tử đó được sử dụng để tải các tài nguyên bên ngoài. (Vì phản hồi HTTP xác định loại nội dung của tài nguyên.)Thuộc tính type của các phần tử SCRIPT và STYLE trong HTML?

<link rel="Stylesheet" href="foo.css"> 

<script src="foo.js"></script> 

Nhưng trường hợp khi mã không phải HTML được đặt bên trong các phần tử STYLE và SCRIPT thì sao?

<style> 
    /* inline CSS rules */ 
</style> 

<script> 
    // inline JavaScript code 
</script> 

Có phải đặt thuộc tính loại trong những trường hợp được khuyến nghị không? Có vấn đề gì khi chúng tôi chọn bỏ qua thuộc tính loại không?

+0

Một vài câu trả lời khác: http://stackoverflow.com/questions/7715953/do-we-need-type-text-css-for-link-in-html5/7716130#7716130 –

Trả lời

10

Đối với HTML 4, câu trả lời rất đơn giản: Thuộc tính type là bắt buộc cho cả <script><style>.

Tác giả phải cung cấp giá trị cho thuộc tính này; không có giá trị mặc định cho thuộc tính này.

Theo như tôi biết, dự phòng mặc định trong tất cả các trình duyệt khi vắng mặt là text/javascripttext/css, tương ứng. Đó là thực tế phổ biến (mặc dù không hợp lệ) để không sử dụng thuộc tính type. Tôi vẫn sẽ chỉ định nó để tránh các vấn đề về trình duyệt.

HTML 5 chấp nhận thực tế và tuyên bố các giá trị này làm giá trị mặc định chính thức cho <style><script>. Tôi khá chắc chắn điều này làm cho nó okay để lại cho họ ra cho nội dung nội tuyến là tốt, mà sẽ được phân tích cú pháp bằng cách sử dụng các loại nội dung chính xác tự động.

Các vấn đề liên quan