2008-08-06 10 views
16

Khi phát triển một ứng dụng dựa trên web mới mà bạn nên nhắm vào phiên bản html nào?Lựa chọn phiên bản HTML

EDIT:

mát Tôi chỉ cố gắng để có được một cảm giác từ những người khác tôi có xu hướng sử dụng XHTML 1.0 Strict trong công việc của riêng mình và chuyển tiếp khi người khác đang tham gia vào việc tạo ra nội dung.

Tôi đã đánh dấu bài đăng chuyển tiếp XHTML 1.0 đầu tiên là 'câu trả lời đúng' nhưng tin tưởng mạnh mẽ rằng tất cả các câu trả lời được đưa ra tại thời điểm có giá trị như nhau.

Trả lời

7

Tôi muốn quay cho XHTML Chuyển tiếp 1.0. Vẫn còn một vài sắc thái trên mạng mà không thích XHTML nghiêm ngặt, và hầu hết các biên tập viên tôi đã nhìn thấy bây giờ sẽ cung cấp cho bạn những nudges thích hợp để đảm bảo rằng mọi thứ được thực hiện đúng.

+1

Không chắc thế nào up-to-date , nhưng nếu điều đó vẫn đúng đối với Firefox, Quá trình chuyển đổi XHTML 1.0 sẽ đặt Firefox ở chế độ Almost Standards thay vì chế độ Full Standards. – Shadow2531

+0

Không có một lý do thuyết phục nào để truy cập XHTML qua HTML. – Mark

1

Mọi thứ hiển thị trang của bạn sẽ làm như vậy bất kể bạn sử dụng tiêu chuẩn phổ biến nào. XHTML là chặt chẽ hơn và có lẽ "tốt hơn" nhưng tôi không thể thấy những lợi thế bạn sẽ nhận được với một tiêu chuẩn khác.

0

Cá nhân, tôi thích XHTML 1.0 Chuyển tiếp.

XHTML dựa trên XML, vì vậy nó cho phép phân tích cú pháp dễ dàng hơn và bạn cũng có thể sử dụng các thành phần XML của hầu hết các IDE để truy vấn và chèn nội dung theo chương trình.

Chuyển tiếp không nghiêm ngặt như nghiêm ngặt, làm cho nó tương đối dễ dàng để làm việc với, so với nghiêm ngặt mà thường có thể là một PITA. Comparison between Transistional and Strict

1.0 là "tương thích hơn" so với 1.1 và 1.1 dường như vẫn còn dưới một số loại phát triển.

2

Dillie-O phù hợp với câu trả lời của XHTML 1.0 Chuyển tiếp nhưng tôi khuyên bạn nên quay XHTML 1.0 Strict và chỉ quay lại Transitional nếu có một số chức năng mà bạn hoàn toàn cần mà Strict không cho phép.

25

HTML 4.01. Có hoàn toàn không có lý do để sử dụng XHTML cho bất kỳ điều gì ngoài các vấn đề về thử nghiệm hoặc học tập mà bạn chỉ muốn chạy trên các trình duyệt web 'tối nghĩa'.

XHTML Chuyển tiếp hoàn toàn vô nghĩa ngay cả với những trình duyệt đó, vì vậy tôi không chắc tại sao mọi người lại nhắm đến điều đó. Nó thực sự khá đáng báo động rằng một số người sẽ khuyên bạn nên điều đó.

Tôi muốn nói rằng nhắm mục tiêu cho HTML 4.01 là khả năng dự đoán nhất, nhưng Teifion thực sự đúng, "bất kỳ điều gì làm cho trang của bạn sẽ thực hiện".

để đáp ứng với Michael Stum:

XHTML được dựa trên XML, do đó nó cho phép phân tích dễ dàng hơn và bạn cũng có thể sử dụng các thành phần XML của hầu hết các IDE để programatically truy vấn và chèn thứ.

Điều này chắc chắn không đúng. Rất nhiều XHTML trên web (nếu không nhất) không phù hợp với tính hợp lệ của XML (và nó không cần - nó không được gửi dưới dạng XML). Cố gắng đối xử với điều này như XML khi đối phó với nó chỉ là sẽ giúp bạn có được rất nhiều đau đầu. Ví dụ, trang này trên Stack Overflow sẽ tạo ra các lỗi với nhiều công cụ XML không lưu trữ để có đánh dấu không hợp lệ.

0

Tôi nhắm mục tiêu cho XHTML 1.0 Trans.Nó tốt hơn để phù hợp vì vậy khi lỗi được cố định trong các trình duyệt, bạn sẽ không đột nhiên làm việc chống lại đồng hồ cố gắng tìm ra những gì thực sự cần thay đổi.

Theo quan điểm của tôi 1.1 bị borked và 2.0 đã bị đập vỡ thành smithereens: Tôi có thực sự cần/muốn một thẻ đầu trang/chân trang không?

3

@ Mike:

Trong khi tôi đồng ý rằng giá trị là không cần thiết để tạo ra một trang render (sau khi tất cả, chúng ta phải giữ cho khả năng tương thích IE6 trong ...), tạo ra XHTML hợp lệ mà tương thích và có giá trị không phải là vấn đề. Các vấn đề bắt đầu khi mọi người sử dụng HTML 4 và sử dụng các thẻ và thuộc tính bị khấu hao.

Chỉ vì Web là một đống crap không có nghĩa là mỗi trang mới cũng cần phải là một đống crap. Hầu hết các lỗi xác thực trên SO rất nhỏ, không mất quá nhiều thời gian để sửa lỗi, như thiếu các trích dẫn về thuộc tính. Tuy nhiên, nó vẫn có thể là vô nghĩa, vì W3C không có ý tưởng nào về việc họ muốn đi đâu (xem HTML 5) và một công ty trình duyệt lớn nào đó cũng khiến hệ điều hành không quan tâm là tốt, do đó, một trang web cũng có thể gửi ra nó doctype như HTML 1337 Sucks và các trình duyệt vẫn sẽ cố gắng để làm cho nó.

1

Tôi là tất cả cho XHTML Nghiêm ngặt mọi lúc. Tôi tin tưởng mạnh mẽ rằng HTML nên giống XML hơn. Nó không khó để xác nhận nó nếu bạn biết XML và trình duyệt tính hợp lệ của W3 luôn hướng bạn đi đúng hướng.

XHTML 2.0 đang hướng đến những gì W3 đã nhắm đến trong một thời gian dài - web ngữ nghĩa. Lợi ích tốt nhất của XHTML 2.0 đối với tôi là mọi trang tuân thủ trên web sẽ dễ hiểu như nội dung, hoặc một bài viết (vì đó là những trang - tài liệu) bởi vì tất cả chúng đều áp dụng cho cùng một tiêu chuẩn. Sau đó, bạn sẽ có thể xây dựng các bộ đệm (tức là trình duyệt) hiển thị nội dung theo cách hoàn toàn khác - có nghĩa là hàng nghìn ý tưởng đang đợi ở đây.

3

Có một số compellingwarnings về cách sử dụng XHTML, chủ yếu xoay quanh một thực tế là mime-type cho một tài liệu như vậy cần được gửi dưới dạng:

Content-type: application/xhtml+xml

Tuy nhiên, IE 6 và 7 don' t hỗ trợ này, và sau đó các trang web phải gửi nó như:

Content-type: text/html

Đáng tiếc là phương pháp đó là considered harmful.

Một số cũng than vãn thực tế rằng mặc dù mục đích của XHTML là làm cho các trang web có thể phân tích cú pháp bằng trình phân tích cú pháp XML, thực tế không thành công do sử dụng không đúng trên các trang web hiện có.

Tôi vẫn thích viết tài liệu trong XHTML 1.0 Nghiêm ngặt hơn, chủ yếu là do thử thách và kiểm tra lỗi cleanliness và số validator cung cấp. Tôi tận hưởng cú pháp tốt hơn một chút, bởi vì nó buộc tôi phải rất rõ ràng khi các thẻ kết thúc, v.v. Đó là nhiều hơn cho tôi một sự lựa chọn cá nhân hơn là kỹ thuật thuần túy.

+1

"Tôi thích cú pháp tốt hơn một chút, bởi vì nó buộc tôi phải rất rõ ràng khi các thẻ kết thúc, v.v ..." tốt, hầu hết thời gian, không có gì FORCES bạn rằng, và bạn luôn có thể viết HTML đó là 99% 'xml hợp lệ' anyway. –

+0

HTML4 được viết rõ ràng chỉ là sạch sẽ và cũng có các trình xác thực cho nó. Bạn có chắc chắn bạn không thích việc sử dụng XML bandwagon không? – Mark

8

Chuyển tiếp các hương vị của XHTML và HTML không được chấp nhận. Chúng chỉ được dự định cho các tác nhân người dùng cũ không hỗ trợ CSS. Xem explanation in the DTD.

W3C khuyên bạn nên sử dụng Nghiêm ngặt bất cứ khi nào có thể và những ngày này chắc chắn là có thể.

Phiên bản chuyển tiếp đã bị xóa trong XHTML/1.1 và HTML5.


XHTML/1.0 có cùng các yếu tố và thuộc tính (ngữ nghĩa) dưới dạng HTML4. Đặc tả XHTML/1.0 thậm chí không chỉ định bất kỳ phần tử nào! Đối với bất cứ điều gì khác hơn cú pháp, nó đề cập đến HTML4. Ngoài ra, bạn sẽ không thể sử dụng bất kỳ tính năng nào của XHTML không có sẵn trong HTML (không gian tên, XML DOM) nếu bạn gửi tài liệu dưới dạng text/html và không may mắn là bắt buộc phải tương thích với IE và chỉ với HTML khác trình duyệt.

Năm 2008 lựa chọn đúng sẽ là HTML4 Strict:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

nhưng kể từ năm 2016, chỉ có là one version of HTML có vấn đề.

<!DOCTYPE html> 
1

Nếu bạn muốn sử dụng XHTML 1.0 theo cách tương thích với HTML, điều đó vẫn ổn. Tuy nhiên, lưu ý rằng trình xác nhận W3C và các DTD XHTML không biết gì về các loại mime và cách các trình duyệt hoạt động khác nhau (như < bản đồ > tên/id khớp) giữa chúng. Các DTD không biết gì về cách trình duyệt hỗ trợ các phần tử nhất định (ví dụ như < nhúng >).

Điều này có nghĩa là các DTD XHTML và trình xác thực không phản ánh thực tế và cố gắng tuân thủ chúng là vô nghĩa.

Nếu bạn muốn sử dụng XHTML chỉ để bạn có thể đóng các phần tử nhất định bằng /> (nơi tương thích với html), chỉ cần sử dụng đánh dấu HTML5 (để trình duyệt ở chế độ tiêu chuẩn đầy đủ). HTML5 cho phép sử dụng/> theo cách tương thích với HTML (cùng một cách tương thích với HTML mà bạn phải thực hiện khi sử dụng đánh dấu XHTML 1.0 với văn bản/html). Sau đó, chỉ cần dính vào những gì làm việc (bạn biết tốt hơn so với một số DTD) trong các trình duyệt.

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"/> 
     <title></title> 
    </head> 
    <body> 
     <p>Line1<br/>Line2</p> 
     <p><img src="" alt="blank"/></p> 
     <p><input type="text"/></p> 
     <p><embed type="application/x-something" src=""/></p> 
    </body> 
</html> 

Sau đó, sử dụng http://validator.nu/ để đảm bảo cũng được tạo ít nhất.

0

Tôi không nghĩ rằng nó thực sự quan trọng cho dù bạn sử dụng XHTML hay HTML thuần túy. Mục tiêu cuối cùng ở đây là phải bảo trì thấp và phát triển nhanh chóng thông qua hiển thị có thể dự đoán được. Bạn có thể nhận được điều này từ việc sử dụng xhtml hoặc html, miễn là bạn đã xác thực mã. Tôi thậm chí còn nghe nói lập luận rằng tốt nhất là nhắm mục tiêu chế độ quirks, bởi vì các phiên bản mới của trình duyệt không thay đổi chế độ quirks, do đó bảo trì rất dễ dàng.

Cuối cùng, tất cả đều trở thành súp thẻ, vì lý do chính đáng, vì các nhà phát triển ứng dụng web viết html không có lỗi nghĩa là yêu cầu họ viết mã không có lỗi. Người xác thực không có trợ giúp, bởi vì họ chỉ xác thực xem trang ban đầu. Đây cũng là lý do tại sao tôi chưa bao giờ thấy điểm trong xhtml được phân phát dưới dạng xml cho bất kỳ thứ gì ngoài các trang web tĩnh. Mức độ kiêu ngạo mà một nhà phát triển ứng dụng web cần phải có để phục vụ ứng dụng web của họ vì xml là đáng kinh ngạc.

-1

HTML 4.0 Nghiêm ngặt hoặc ISO HTML.

+0

Bạn đã bao giờ xem thông số kỹ thuật của HTML HTML chưa? Nó bị hạn chế hơn bất cứ thứ gì khác. – user86297

1

Nếu bạn có các công cụ để tạo XHTML của mình giống như bất kỳ tài liệu XML nào khác, hãy đi với XHTML. Nhưng khi bạn chỉ cần sử dụng các mẫu văn bản thuần tuý, ghép nối văn bản, v.v. bạn có thể sử dụng HTML 4.01 cũ tốt.

Trình duyệt giờ đây bắt đầu hỗ trợ tiêu chuẩn cũ 10 năm này.

Chú ý: Avoid being called a bozo when producing XML