2009-07-16 18 views
8

Tôi đã xem xét xung quanh và dường như không có tiêu chuẩn nào về các thẻ HTML được cho phép trong RSS - bạn có thể đặt bất kỳ thứ gì vào. Nhưng độc giả tôi đã thử nghiệm chỉ cho phép một số thứ nhất định.Các thẻ HTML hợp lệ trong Nguồn cấp RSS là gì?

Trong thử nghiệm ban đầu của tôi, có vẻ như các thẻ tạo kiểu đơn giản như <b> là tốt. Vì vậy, là phong cách nội tuyến như < span style = "màu sắc: màu đỏ" > <img> 's dường như làm việc. Nhưng <iframe> bị bỏ qua, vì là < tập lệnh > khối. Các thuộc tính Onclick không hoạt động. < phong cách > khối hoạt động trong một số người đọc nhưng không phải người khác

Có một trang web đồng thuận, tiêu chuẩn hoặc tương thích chung liệt kê những gì được hỗ trợ không? Tôi muốn biết những gì các tập hợp con của các thẻ HTMl tôi có thể sử dụng trong nguồn cấp dữ liệu là.

+0

Bạn chỉ cần đặt các thẻ như chúng có hoặc có một số đánh dấu đặc biệt cho chúng không? Tôi đã đoán các thẻ HTML sẽ bị đọc nhầm bởi các trình đọc XML dưới dạng các mục riêng biệt. –

Trả lời

1

Tôi không nghĩ có một tiêu chuẩn ở đây - đó là tất cả những gì chính trình đọc RSS sẵn sàng triển khai. Vì vậy, dự đoán của tôi sẽ là, ví dụ, Google Reader sẽ xóa các thẻ và các thuộc tính HTML và CSS nguy hiểm và tương tự, và sau đó cho phép bất kỳ loại thẻ không nằm trong danh sách cấm nào khác mà bạn muốn bao gồm.

Vì vậy, vâng. Không có đặc điểm kỹ thuật, và do đó có khả năng không có tiêu chuẩn - chỉ là cùng một kỹ thuật phòng chống XSS chung mà chúng ta thấy trên toàn bộ mạng nội bộ. Lựa chọn duy nhất của bạn là thử các thẻ khác nhau mà bạn cho rằng có thể gây tranh cãi (mặc dù tôi thực sự mong đợi bất kỳ thứ gì ngoài việc tạo kiểu CSS) trong các trình đọc RSS khác nhau để xem điều gì xảy ra hoặc đơn giản là để nội dung của bạn sẵn sàng quay trở lại sang định dạng cơ bản hơn nếu không cho phép HTML/CSS mong muốn.

Cụ thể bạn đang cố gắng làm gì? Bạn có thể có được câu trả lời tốt hơn nếu bạn có thể chỉ định - hoặc đây chỉ là vấn đề tò mò?

+0

Chủ yếu là sự tò mò. Tôi muốn cho phép người dùng làm những việc như bỏ phiếu lên xuống bài viết bằng cách sử dụng javascript và ajax từ bên trong Trình đọc RSS, nhưng tôi đoán điều tốt nhất tôi có thể làm là liên kết bên ngoài với mã thông báo duy nhất. –

+1

Mhm. Nếu trình đọc RSS của tôi cho phép Javascript, tốt, tôi sẽ bị điên. Thật khó khăn khi là cả nhà phát triển và người dùng xD – Matchu

0

Tôi không nghĩ có bất kỳ câu trả lời "chính thức" nào. Nó có thể phụ thuộc vào mức độ tương thích mà bạn đang nhắm tới.

Tôi muốn giữ nó vào các thẻ định dạng văn bản cơ bản (STRONG, EM, v.v.) và IMG và A và đó là về nó.

1

Tôi nghĩ rằng điều 'đúng' cần làm là bao gồm một không gian tên xhtml (xmlns: html = "http://www.w3.org/1999/xhtml") hoặc đặt dữ liệu HTML trong phần CDATA.

0

Thực tế, không có thuộc tính HTML nào được phép trong nguồn cấp dữ liệu RSS. Chỉ cho phép các thẻ XML được liệt kê trong đặc tả được đăng ở trên. Ngoài ra, vì nó là XML, chỉ cho phép một số mã hóa Unicode (ví dụ: UTF-8). Nhiều nhà cung cấp RSS không tôn trọng tiêu chuẩn là một vấn đề khác.

11
<title>How to parse full html content in xml feeds</title> 
<description><![CDATA[<html><body>Any code html is valid here like &npsb; 
and what ever you want to transfer</body></html>]]></description> 
<guid>http://example.com/your-news-id</guid> 
Các vấn đề liên quan