javascript - 如何获取 CSSStyleDeclaration.backgroundImage 设置描述符
问题描述
我正在尝试覆盖 javascript 中某些样式属性的设置器。
这是我正在做的一个例子。
const setDescriptor = Object.getOwnPropertyDescriptor(CSSStyleDeclaration.prototype, 'backgroundImage').set;
Object.defineProperty(CSSStyleDeclaration.prototype, 'backgroundImage', {
set: function (value) {
const newValue = // Some sort of mutation to value
setDescriptor.call(this, newValue);
},
});
当试图在我的浏览器中运行它时,我收到以下错误:
未捕获的类型错误:无法读取未定义的属性(读取“设置”)
我知道该界面没有对样式属性的任何引用。
但是,当从 CSSStyleRule.style 访问 CSSStyleDeclaration 的实例时,属性确实存在。
该实例何时填充?如何覆盖所有新旧实例的属性设置器?
解决方案
推荐阅读
- typo3 - 如何包含基于TYPO3页面布局的JS?
- flutter - 将路由添加到导航堆栈而不将屏幕推送到堆栈
- c# - 第一个循环比 C# 中的后续循环慢吗?
- ruby-on-rails - 试图理解 Journey::Path::Pattern#spec(Rails 路由内部)
- c# - 无法第一次生成刷新令牌,能够在 API 上多次尝试生成(连接/令牌)
- tensorflow - 如何获取 coco 数据集的 Xception 配置文件?
- azure - Cosmos SQL 上的查询
- flutter-layout - 将小部件放置在垂直中心
- nginx - 如何使 nginx 反向代理直接连接到 tor 隐藏服务?
- ios - iOS,Objective -C 如何从 iPad 隐藏/删除 UIDocumentInteractionController 栏/共享按钮?