Sanitizer: phương thức allowAttribute()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phương thức allowAttribute() của giao diện Sanitizer đặt một thuộc tính là được phép trên tất cả các phần tử khi bộ làm sạch được dùng.

Phương thức có thể được dùng với cấu hình cho phép hoặc cấu hình xóa. Nếu dùng với cấu hình cho phép, thuộc tính được chỉ định sẽ được thêm vào mảng attributes. Nếu dùng với cấu hình xóa, thuộc tính sẽ bị xóa khỏi mảng removeAttributes (nếu có).

Lưu ý rằng để cho phép/không cho phép các thuộc tính chỉ trên các phần tử cụ thể, hãy dùng Sanitizer.allowElement().

Cú pháp

js
allowAttribute(attribute)

Tham số

attribute

Một chuỗi cho biết tên của thuộc tính được phép toàn cục trên các phần tử, hoặc một đối tượng với các thuộc tính sau:

name

Một chuỗi chứa tên của thuộc tính.

namespace Optional

Một chuỗi chứa không gian tên của thuộc tính, mặc định là null.

Giá trị trả về

true nếu thao tác thay đổi cấu hình để cho phép thuộc tính, và false nếu cấu hình đã cho phép thuộc tính đó.

Lưu ý rằng false có thể được trả về nếu cấu hình nội bộ:

  • định nghĩa một mảng attributes và thuộc tính đã có mặt (không cần thêm lại)
  • thay vào đó định nghĩa mảng removeAttributes và thuộc tính được chỉ định không có mặt (và do đó đã được cho phép)
  • dataAttributes được đặt true, nhưng thuộc tính data-* được truyền vào.

Ví dụ

Cách cho phép các thuộc tính cụ thể trên các phần tử

Ví dụ này cho thấy cách allowAttribute() được dùng để chỉ định rằng một thuộc tính được phép trên các phần tử.

JavaScript

Mã trước tiên tạo một đối tượng Sanitizer mới ban đầu không cho phép thuộc tính nào. Sau đó chúng tôi gọi allowAttribute() với các thuộc tính titlemathcolor.

js
// Tạo bộ làm sạch cho phép
const sanitizer = new Sanitizer({
  attributes: [],
});

// Cho phép thuộc tính "title"
sanitizer.allowAttribute("title");
// Cho phép thuộc tính "mathcolor"
sanitizer.allowAttribute("mathcolor");

// Ghi nhật ký cấu hình bộ làm sạch
let sanitizerConfig = sanitizer.get();
log(JSON.stringify(sanitizerConfig, null, 2));

Kết quả

Cấu hình cuối cùng được ghi nhật ký bên dưới. Lưu ý cách cả hai thuộc tính hiện được thêm vào danh sách attributes (các thuộc tính khác sẽ không được phép trên các phần tử khi bộ làm sạch được dùng).

Thông số kỹ thuật

Specification
HTML Sanitizer API
# dom-sanitizer-allowattribute

Tương thích trình duyệt