簡體   English   中英

如何將樣式表添加到JSDOM

[英]How do you add stylesheets to 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'), {
        features : {
            FetchExternalResources : ['script', 'css'],
            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中使用它,我之后添加它。

它非常簡單,我希望它可以幫助其他人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM