TA的每日心情![](source/plugin/dsu_paulsign/img/emot/yl.gif) | 慵懒 2022-3-8 11:41 |
---|
签到天数: 2 天 [LV.1]初来乍到
荣誉开发者
- 积分
- 1371
![荣誉开发者](static/image/common/rykfz.svg) ![卓越贡献](static/image/common/zygx.svg) ![油中2周年](static/image/common/yzlzn.svg) ![生态建设者](static/image/common/builders.svg) ![油中3周年](static/image/common/yz3zn.svg) ![挑战者 lv2](static/image/common/tzzlv2.svg)
|
发表于
2021-11-20 19:46:39
|
显示全部楼层
这个写法不太好,因为cookie有这种赋值方法:
- document.cookie = 'test=1;domain=test.com;path=/';
复制代码
这样只会改变某个值,而访问document.cookie时得到的是所有值,还有个毛病是没有set之前去get,会得到空值,这个也不符合预期。建议改成这样,直接调用原型上的get、set方法:
- const descriptor = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie');
- Object.defineProperty(document, 'cookie', {
- configurable: true,
- get: descriptor.get,
- set: function(val) {
- console.log('Hook捕获到cookie设置->', val);
- descriptor.set.call(document, val);
- }
- });
复制代码
|
|