[英]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.