2012-03-11 37 views
10

Tôi đang cố gắng tạo trang HTML5 đầu tiên nhưng tôi không thể làm cho nó hợp lệ hóa W3C liên tục nói với tôi rằng tôi có một số lỗi trong thẻ meta của tôi.Xác thực meta HTML5

trang trong câu hỏi là http://www.jmphoto.dk/otus/index.html (một trang HTML4 cũ của nó mà tôi cố gắng sử dụng làm cơ sở/redeo dưới dạng HTML 5)

tôi không thể tìm thấy giải pháp anny để có được thẻ meta sau đây để xác nhận hoặc tìm sản phẩm thay thế anny cho họ sẽ xác nhận

<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="Expires" content="0" /> 
<meta last-modified="Thu, 14 Apr 2011 12:17:27 GMT" /> 
<meta name="distribution" content="Global" /> 
<meta name="copyright" content="(c) 2012 OTUS" /> 

Tôi đã sử dụng hầu hết cuối tuần để tìm giải pháp trên mạng nhưng không may mắn vì vậy tôi thực sự hy vọng ai đó thông minh có thể giúp tôi.

+0

Tại sao bạn cần bất kỳ điều nào trong số này? Như những người bình luận khác đã nói hầu hết trong số họ không hợp lệ hoặc không làm gì cả. Tại sao không chỉ đưa tuyên bố về bản quyền vào nhận xét và xóa tất cả các yếu tố meta, các trường hợp đặc biệt về trang này khiến bạn cần phải cố gắng kiểm soát hành vi http từ bên trong trang là gì? –

Trả lời

0

Bạn đã đọc thông báo xác thực cho thẻ không hợp lệ chưa? Nó nói rằng những thẻ có chứa giá trị xấu vì vậy tôi đoán họ không được phép. Kiểm tra các liên kết này, đọc thông báo xác thực và xem liệu bạn có thể tìm thấy danh sách các thẻ và thuộc tính được phê duyệt cho HTML hay không. Dịch vụ Validator có vẻ là thử nghiệm vì HTML 5 không ở dạng cuối cùng.

Is the copyright meta tag valid in HTML5?

http://www.impressivewebs.com/understanding-html5-validation/

+1

Có Tôi đã đọc các thông báo xác nhận hợp lệ nhưng tôi không thể tìm thấy giải pháp anny cho họ. Cảm ơn các liên kết ... bị bệnh hãy xem xét kỹ hơn chúng –

15

OK, chúng ta hãy là người dễ dàng đầu tiên:

<meta last-modified="Thu, 14 Apr 2011 12:17:27 GMT" /> 

last-modified không và chưa bao giờ được một thuộc tính hợp lệ của phần tử meta. Không chắc chắn những gì được dự định ở đây.

<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="Expires" content="0" /> 

Đặt hướng dẫn lưu vào thẻ meta không phải là một ý tưởng hay, bởi vì mặc dù trình duyệt có thể đọc chúng, proxy sẽ không. Vì lý do đó, chúng không hợp lệ và bạn nên gửi hướng dẫn lưu vào bộ nhớ cache dưới dạng tiêu đề HTTP thực.

<meta name="distribution" content="Global" /> 
<meta name="copyright" content="(c) 2012 OTUS" /> 

Cả distribution cũng không copyright được công nhận giá trị cho các thuộc tính name của phần tử meta. Tên hợp lệ được mô tả tại https://w3c.github.io/html/document-metadata.html#standard-metadata-nameshttp://wiki.whatwg.org/wiki/MetaExtensions.

Tôi khuyên bạn nên dcterms.audience thay vì distributiondcterms.rightsdcterms.rightsHolder thay vì copyright.

+3

Thay vì 'dcterms.rights', sử dụng' dcterms.rightsHolder' cho bản quyền. Xem [câu trả lời này] (http://stackoverflow.com/a/9699659/1712065) để được giải thích – Annie

+0

@Annie - Thông tin tốt. Cảm ơn. – Alohci

+0

Tôi làm cách nào để thay đổi

-3

Thay vì

<meta last-modified="Thu, 14 Apr 2011 12:17:27 GMT" /> 

bạn cần phải đặt

<meta http-equiv="last-modified" content="Thu, 14 Apr 2011 12:17:27 GMT" /> 
+2

OP đang cố gắng để có được HTML5 hợp lệ, nhưng nếu bạn chạy một trang với thẻ được đề xuất của bạn thông qua trình xác thực W3C, bạn sẽ nhận được thông báo này: "Giá trị không hợp lệ được sửa đổi lần cuối cho thuộc tính http-equiv trên meta phần tử". – Jonathan

0

Phương án này cho meta name="last-modifed" được xác nhận bởi W3 Validator HTML5 là hợp lệ và lẽ được công nhận bởi công cụ tìm kiếm hiện đại:

<link rel="schema.dcterms" href="http://purl.org/dc/terms/" /> 
<meta name="dcterms.modified" content="2018-01-26" /> 
Các vấn đề liên quan