Bấy lâu nay trên các diễn đàn thường nhắc đến lỗi HTML Comment Tag. Vậy thực chất nó là gì?
Để hiểu rõ việc này, việc giải thích nên đi từ:
1. HTML Comment Tag là gì?
HTML là ngôn ngữ tuân theo chuẩn XML, với các tag, ví dụ như tag là cho đoạn ký tự chẳng hạn (Paragraph). Theo chuẩn này, khi bạn mở một tag thì phải đóng tag đó một cách hợp lệ. Ví dụ, bạn có mở tag, thì bạn phải đóng tag. Đây là cách đóng tag thông thường, XML phiên bản sau còn cung cấp smart tag, ví dụ như. Thay vì " ... ", ta có thể chuyển thành "" mà XML parser vẫn có thể nhận dạng được.
Trong HTML có nhiều tag để trích xuất nội dung site, trong đó có tag comment (chú thích), là "". HTML parser khi tìm đến tag này sẽ mặc định ẩn nội dung chú thích đi. Ta thường thấy comment tag trong các code HTML hoặc code javascript... trong mã nguồn các site là nhằm mục đích ẩn giấu các code đó.
2. Vậy tại sao HTML Comment Tag lại gây ra lỗi?
Các nhà cung cấp dịch vụ như mail, blog... hiện nay thường thông qua giao thức HTML với giao diện web. Sẽ không có vấn đề gì nếu người sử dụng nhập vào một đoạn văn bản bình thường, nhưng nếu vô ý hoặc cố tình, người sử dụng đưa vào một đoạn văn bản có comment tag nhưng không đóng một cách hợp lý thì sẽ gây ra lỗi. Tất cả nội dung từ sau open comment tag sẽ bị ẩn. Lỗi này thường do các nhà cung cấp dịch vụ không kiểm tra HTML tag.
Ví dụ: Tôi nhập vào đoạn văn bản sau:
Hello everybody! <!-- lời chào
I'm Bob Nếu gặp lỗi HTML Comment Tag, chỉ hiển thị được:
Hello everybody!
Phần nội dung sau do chưa đóng tag comment nên không hiển thị được. Hiện nay, website cung cấp dịch vụ blog Opera đang bị tình trạng này, tôi đã test thử và xác nhận là đúng. Chưa biết lúc nào Opera sẽ khắc phục lỗi này.
Để hiểu rõ việc này, việc giải thích nên đi từ:
1. HTML Comment Tag là gì?
HTML là ngôn ngữ tuân theo chuẩn XML, với các tag, ví dụ như tag là cho đoạn ký tự chẳng hạn (Paragraph). Theo chuẩn này, khi bạn mở một tag thì phải đóng tag đó một cách hợp lệ. Ví dụ, bạn có mở tag, thì bạn phải đóng tag. Đây là cách đóng tag thông thường, XML phiên bản sau còn cung cấp smart tag, ví dụ như
Hello everybody! <!-- lời chào
I'm Bob
Phần nội dung sau do chưa đóng tag comment nên không hiển thị được.
0 comments:
Post a Comment