在Chromium中添加新的CSS属性以通过V8 Javascripting引擎使用

时间:2017-12-11 11:06:23

标签: javascript css google-chrome chromium v8

我正在使用chrome V8脚本引擎。 我希望将新的CSS属性添加到V8 / Chrome,以便在与Chromium和V8集成时由我的应用程序进行解释。 我正在尝试以下代码: -

Object.defineProperty(CSSStyleDeclaration.prototype, "myproperty", {
    get: function () {
        return (this.getPropertyValue('-my-property'));

    },
    set: function (myproperty) {
        return this.setProperty("-my-property", myproperty);
    },  
});`

element.style.myproperty = 'customvalue';
console.log(element.style.myproperty);

Output:- Empty string

但是这段代码不起作用,并且没有设置'myproperty'。

如果不是'-my-property',我使用前缀为双连字符' - my-property'的名称,它可以正常工作。

但我想添加带有单前缀的新属性。

我用谷歌搜索,发现一个选项是我需要获得完整的铬代码,添加我的新CSS属性并检查代码: -

https://www.chromium.org/blink/runtime-enabled-features

由于这是一个非常漫长的过程,我只想知道是否有任何其他选项来添加新的CSS属性并通过Element.style.prop获取/设置它。例如,是否有任何可能通过以下任何一种方式: -

  1. CSS Polyfills。
  2. Chrome扩展程序。
  3. 通过让V8知道新属性来扩展V8(我搜索并发现对于这个选项我必须在嵌入模式下运行V8并提供完整的C ++实现。只是想知道是否有可能只提供新的实现属性并重用现有属性。)。
  4. 提前致谢。

0 个答案:

没有答案