は、私は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
で[EDIT2]私は、私が添付prefixfree.min.jsについては言及しなかったことを残念に理解しました。そして、このライブラリでは、document.styleSheets [i] .hrefは、FireFoxを使わないでChromeのようにFireFoxで動作していました。 (document.styleSheetsはСromeによってサポートされていません)。あなたの答えに感謝し、私の不注意にもう一度申し訳ありません。
コードがグローバルにリークしています。あなたは 'var i、href;'を関数の先頭に置いて修正することができます。 – ThiefMaster
@ThiefMaster:あなたは 'var i、href;'を意味すると思います。 ;) –
コードをステップ実行しましたか?なぜそれは警告1ですか?それはループを二度通過しているのですが、配列に一つだけ置いているのですか、それともループしていますか? document.styleSheets.lengthなどによって返されるもの –