Dưới đây tôi có thẻ HTML và sử dụng JavaScript để trích xuất giá trị của thuộc tính widget. Mã này sẽ cảnh báo <test>
thay vì <test>
, vì vậy trình duyệt tự động unescapes giá trị thuộc tính:Tại sao trình duyệt tự động hủy hiển thị giá trị thuộc tính thẻ html?
alert(document.getElementById("hau").attributes[1].value)
<div id="hau" widget="<test>"></div>
Câu hỏi của tôi là:
- thể hành vi này được ngăn chặn bằng mọi cách, bên cạnh làm một lối thoát kép của nội dung thuộc tính? (Nó sẽ giống như thế này:
&lt;test&gt;
) - Có ai biết tại sao trình duyệt hoạt động như thế này không? Có bất kỳ vị trí nào trong thông số HTML mà hành vi này được đề cập một cách rõ ràng không?