Tại sao đặt tuyên bố loại tài liệu XHTML trên tệp HTML? Cái đó làm cái gì?
Tất cả những gì cần làm là thông báo cho người xác thực đánh dấu rằng họ sắp xác thực tài liệu XHTML, trái với tài liệu HTML gốc, SGML gốc. Nó mô tả nội dung hoặc cụ thể hơn là đánh dấu sau, nhưng không có gì khác.
Tại sao mọi người làm việc này? Họ hy vọng đạt được điều gì? Tại sao không đặt trước việc khai báo tài liệu XHTML cho các tệp XHTML thực tế?
Hoặc tôi có thiếu gì đó không?
Loại. Điều thực sự xảy ra là mọi người thực sự đã xảy ra là không nhận thức được rằng việc đặt một tờ khai tài liệu XHTML ở đầu tài liệu HTML không tự động chuyển đổi nó thành tài liệu XHTML, mặc dù phải thừa nhận đó là những gì mọi người đang hy vọng.
Bạn thấy, hầu hết các máy chủ web và/hoặc ứng dụng web không được định cấu hình để tuần tự hóa các tài liệu XHTML dưới dạng application/xhtml+xml
đúng cách, thay vào đó chọn phân phát các trang web như chỉ text/html
. Điều này khiến các trình duyệt quyết định rằng họ đã nhận được một tài liệu HTML thông thường và do đó, việc phân tích cú pháp phân tích súp vô nghĩa mà tất cả chúng ta đều biết và yêu thích không thể tránh khỏi sau đó.
Lưu ý rằng nó không quan trọng ngay cả khi bạn có một thẻ meta như thế này trên tài liệu XHTML của bạn:
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
trình duyệt sẽ bỏ qua đó, và chỉ nhìn vào thực tế HTTP Content-Type
tiêu đề đó được gửi cùng với tài liệu XHTML. Để làm cho vấn đề tồi tệ hơn, Internet Explorer, là trình duyệt được sử dụng nhiều nhất trong vài năm qua trong thời hoàng kim của XHTML, chưa bao giờ hỗ trợ kiểu application/xhtml+xml
MIME trước khi phiên bản 9 cuối cùng được phát hành: thay vì phân tích đánh dấu, xây dựng DOM và hiển thị trang, tất cả những gì nó làm là yêu cầu tải xuống tệp. Điều đó không tạo ra một trang XHTML rất hữu dụng!
Vì vậy, hãy đoán những gì chúng ta phải sống cho đến khi HTML5 trở nên tuyệt vời? Điều này, cùng với những thứ như IE6 đi quirky trên các trang có khai báo XML trước khi khai báo DOCTYPE, cũng là một trong những yếu tố lớn nhất dẫn đến sự sụp đổ của XHTML (cùng với XHTML 1.1 không bao giờ được sử dụng rộng rãi, và XHTML 2.0 bị hủy bỏ ủng hộ HTML5).
Bạn có ý nghĩa gì với "tệp XHTML thực tế"? Những người có nội dung XHTML hợp lệ? –
Không, tệp có loại tệp XHTML; hậu tố .xhtml; application./xhtml+xml MIME type ... –
Mặc dù bây giờ chúng đã được chuyển đổi sang HTML5, trong nhiều năm W3Schools đã làm như vậy và ủng hộ cách tiếp cận này. Trong khi họ không phải là nguyên nhân duy nhất, và tôi không thể bình luận về quyết định cá nhân, trực tiếp hoặc gián tiếp họ phải có ảnh hưởng rất nhiều trang web. – Alohci