ng-cspคำสั่งAngularJS


ตัวอย่าง

เปลี่ยนวิธีการทำงานของ AngularJS เกี่ยวกับ "eval" และรูปแบบอินไลน์:

<body ng-app="" ng-csp>
...

ความหมายและการใช้งาน

คำng-cspสั่งนี้ใช้เพื่อเปลี่ยนนโยบายความปลอดภัยของ AngularJS

ด้วยng-cspชุดคำสั่ง AngularJS จะไม่เรียกใช้ฟังก์ชัน eval ใดๆ และจะไม่ใส่รูปแบบอินไลน์ใดๆ

การตั้งค่าของng-cspdirective เป็นno-unsafe-evalจะหยุด AngularJS ไม่ให้เรียกใช้ฟังก์ชัน eval ใดๆ แต่อนุญาตให้ฉีดสไตล์อินไลน์ได้

การตั้งค่าของng-cspdirective เป็น no-inline-styleจะหยุด AngularJS ไม่ให้ใส่รูปแบบอินไลน์ใดๆ แต่อนุญาตให้ใช้ฟังก์ชัน eval

การใช้ng-cspคำสั่งนี้เป็นสิ่งจำเป็นในการพัฒนาแอปสำหรับส่วนขยายของ Google Chrome หรือแอป Windows

หมายเหตุ:คำng-cspสั่งนี้ไม่มีผลกับ JavaScript แต่จะเปลี่ยนวิธีการทำงานของ AngularJS ซึ่งหมายความว่า คุณยังคงเขียนฟังก์ชัน eval ได้ และจะดำเนินการตามที่คุณคาดไว้ แต่ AngularJS จะไม่เรียกใช้ฟังก์ชัน eval ของตัวเอง ใช้โหมดความเข้ากันได้ซึ่งสามารถชะลอเวลาการประเมินได้ถึง 30%


ไวยากรณ์

<element ng-csp="no-unsafe-eval | no-inline-style"></element>

ค่าพารามิเตอร์

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.