【发布时间】:2018-07-11 16:31:29
【问题描述】:
我可以通过这种方式获取单个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 文本内容。
【问题讨论】:
-
我想你可能会在这里找到答案? stackoverflow.com/questions/1679507/…
-
我认为你是对的,这消除了从服务器获取第二次数据的需要,所以这是双赢的。谢谢!
-
如果您找到解决方案,请将其发布并标记为答案!欢呼
-
它不会让我将其标记为 2 天的解决方案(不太确定为什么),但我会尽可能地这样做。再次感谢您的帮助。
标签: javascript jquery jquery-deferred