Chỉ thị ng-csp
của AngularJS
Ví dụ
Thay đổi cách AngularJS hoạt động liên quan đến kiểu "eval" và nội tuyến:
<body ng-app="" ng-csp>
...
Hãy tự mình thử »Định nghĩa và cách sử dụng
Lệnh ng-csp
được sử dụng để thay đổi chính sách bảo mật của AngularJS.
Với bộ chỉ thị ng-csp
, AngularJS sẽ không chạy bất kỳ hàm eval nào và nó sẽ không chèn bất kỳ kiểu nội tuyến nào.
Đặt giá trị của lệnh ng-csp
thành no-unsafe-eval
, sẽ ngăn AngularJS chạy bất kỳ hàm eval nào, nhưng cho phép chèn các kiểu nội tuyến.
Đặt giá trị của lệnh ng-csp
thành no-inline-style
, sẽ ngăn AngularJS tiêm bất kỳ kiểu nội tuyến nào, nhưng cho phép các hàm eval.
Việc sử dụng lệnh ng-csp
là cần thiết khi phát triển ứng dụng cho Tiện ích mở rộng của Google Chrome hoặc Ứng dụng Windows.
Lưu ý: Lệnh ng-csp
không ảnh hưởng đến JavaScript nhưng nó thay đổi cách AngularJS hoạt động, nghĩa là: bạn vẫn có thể viết các hàm eval và chúng sẽ được thực thi như bạn mong đợi, nhưng AngularJS sẽ không chạy các hàm eval của riêng nó. Nó sử dụng chế độ tương thích có thể làm chậm thời gian đánh giá lên tới 30%.
Cú pháp
< element ng-csp="no-unsafe-eval | no-inline-style"></ element >
Giá trị tham số
Value | Description |
---|---|
no-unsafe-eval no-inline-style |
The value can be empty, meaning neither eval or inline styles are
allowed. The value can be one of the two values described. The value can be both values, separated by a semicolon, but that will have the same meaning as an empty value. |