gpt4 book ai didi

javascript - 外部 css、$.ajax、firefox、jquery。

转载 作者:行者123 更新时间:2023-11-30 18:29:03 25 4
gpt4 key购买 nike

在我的 html 中我有 2 个外部 css 文件

externalCSSContents = [];

function getExternalCSSContents(){
var i, href;
for (i=0; i < document.styleSheets.length; i++)
{
href = document.styleSheets[i].href;
if (href != null)
{
$.ajax({
async: false,
url: href,
success: function (data) {
externalCSSContents.push(data);
}
});
}
}

}
getExternalCSSContents();
alert(externalCSSContents.length);

此代码有时在 firefox 中提醒 1,但在其他浏览器中永久提醒 2。出了什么问题,我该如何解决?
[编辑] href 在 ff 中有时 = null
[Edit2] 我明白了,很抱歉我没有提到附加的 prefixfree.min.js。有了这个库 document.styleSheets[i].href 就可以像在没有它的 Chrome 中一样在 FireFox 中工作。 ( Сhrome 不支持 document.styleSheets )。谢谢大家的回答,再次对我的疏忽表示歉意。

最佳答案

AJAX 的另一个受害者。 AJAX 代表异步 JavaScript 和 XML。第一部分在这里(异步)。

可能是 AJAX 调用在到达警报之前未完成。您可以在 AJAX 函数完成时使用回调函数进行调用。

externalCSSContents = [];

function getExternalCSSContents(callback){
var i, href;
for (i=0; i < document.styleSheets.length; i++)
{
href = document.styleSheets[i].href;
if (href != null)
{
$.ajax({
url: href,
success: function (data) {
externalCSSContents.push(data);
callback();
}
});
}
}

}
getExternalCSSContents(downloadReady);

function downloadReady() {
alert(externalCSSContents.length);
}

关于javascript - 外部 css、$.ajax、firefox、jquery。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10143752/

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