目的是为了保证引入的第三方js不被cdn或提供方更改。就是添加一个签名。
<script src="http://image.com/static/test.js" integrity="sha384-mI5teY/KdT3jQMWU1ckJBeqABhRQf8GTGOk0EZeHv5FyJakScSQ1so7/qkxHLcP1" crossorigin="anonymous"></script>
如上有两个属性:integrity 和 crossorigin,前者为签名,不加后者浏览器会报错。
加密方式(如sha256)-base64编码的文件hash值。
服务器端需要给响应添加一个Access-Control-Allow-Origin 响应头信息,如apache中:
header set Access-Control-Allow-Origin http://yourdomain.com
配置号后,提示签名不符,文件锁定。。也不知为啥,base64(sha256(test.js))得到的结果与浏览器计算的不符也不知道为啥。用浏览器报错提供中的文件hash值,就不报错了。。。