gpt4 book ai didi

javascript - $.如何获取多个css文件内容?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:32 24 4
gpt4 key购买 nike

我可以通过这种方式获取单个css文件的内容

getStyleCSS = $.get("MyStyle.css");
$.when(getStyleCSS).done(function(response) {
var strCSS = response; // response here is the text content of the css file
}

但是当我尝试像这样获取多个 css 文件内容时,我得到的是 Deferred 对象而不是 css 内容。

// Get a handle on an aspx created element which contains css script elements
var elementDiv = document.getElementById('somediv');

// Get the stylesheets from this element
var links= elementDiv.getElementsByTagName('link');
arrLinks = [];
arrDeferreds = [];

// jQuery get each of the css links
for (var i = 0; i < arrLinks.length; i++) {
var link = arrLinks[i];
arrDeferreds.push($.get(link));
}

// Fetch the css documents
$.when(arrDeferreds).done(function (response) {
var result = response; // response here is an array of Deferred objects
}

有没有办法使用javascript/jQuery获取多个css文件的文本内容?

上下文:我需要将页面 HTML 的子集发送到外部(跨站点)服务,该服务将生成指定 HTML 的 PDF。为了正确生成 pdf,我需要将所有 css 内容的文本嵌入到 html 中。页面内容源自 aspx/ascx 控件,其中一些控件包含指向各种 css 文件的脚本元素。我正在尝试获取每个元素的 css 文本内容。

最佳答案

这不是一个真正的解决方案(我仍然没有弄清楚如何从延迟对象中获取结果)但这似乎是一个合法的解决方法。感谢@AussieJoe 提供指向另一个 stackoverflow 答案的指针。

我可以像这样为页面上的所有 css 构建 css 字符串

var strCSS = '';
for (var i = 0; i < document.styleSheets.length; i++) {
var stylesheet = document.styleSheets[i];
for (var j = 0; j < stylesheet.cssRules.length; j++) {
var rule = stylesheet.cssRules[j];
strCSS += rule.cssText;
}
}

关于javascript - $.如何获取多个css文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51290366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com