css – 你如何向JSDOM广告样式表

前端之家收集整理的这篇文章主要介绍了css – 你如何向JSDOM广告样式表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在开发一个项目,要求我通过JSDOM将计算样式发送到浏览器.我目前正在寻找一种方法将一些基本的CSS注入JSDOM,以便它可以计算出正确的内联样式(是的,我知道这很糟糕).

根据我的发现,我可以使用JSDOM Level 2,但是从那里我找不到任何关于如何注入样式的文档
这就是我到目前为止所拥有的

var document = jsdom.jsdom('<!DOCTYPE html><html><head></head><body id="abody" ></body></html>',jsdom.level(2,'style'),{
        features : {
            FetchExternalResources : ['script','css'],QuerySelector : true
        }
    });

我一直在将css插入head标签,但无济于事.而且我知道我也可能错误地执行上述代码.

任何帮助都会很棒.

解决方法

嗯,这听起来有点蠢,但这就是我做的:
var path = require('path');
    var fs = require('fs');
    var mainCss = fs.readFileSync(path.normalize(__dirname + "web_main.css"),'utf8');
    var document = jsdom.jsdom('<!DOCTYPE html><html><Meta http-equiv="content-type" content="text/html; charset=utf-8"><head></head><body id="abody" ></body></html>',jsdom.level(3,'index'),QuerySelector : true
        }
    });     
    var window = document.createWindow();
    var head = document.getElementsByTagName('head')[0];
    style = document.createElement("style");
    style.type = 'text/css';
    style.innerHTML = mainCss;
    head.appendChild(style);

所以基本上所有我改变的都是将级别移动到3索引,而不是直接在起始html中使用它,我之后添加它.

它非常简单,我希望它可以帮助其他人.

原文链接:https://www.f2er.com/css/215358.html

猜你在找的CSS相关文章