私の写真をアップロードします。ページの洞察は、私のCSSファイルが私のサイトのダウンロードを遅くしていると常に言います。CSSファイルをJavaScriptに含める
解決策は何ですか?これらのファイルをjavascriptまたは非同期モードでどのように追加する必要がありますか?
JSファイルも、jQueryのように、ページの下部にあるボディークローズタグにあります。
私の写真をアップロードします。ページの洞察は、私のCSSファイルが私のサイトのダウンロードを遅くしていると常に言います。CSSファイルをJavaScriptに含める
解決策は何ですか?これらのファイルをjavascriptまたは非同期モードでどのように追加する必要がありますか?
JSファイルも、jQueryのように、ページの下部にあるボディークローズタグにあります。
CSSリソースがデフォルトでブロックされ、ブラウザがページをレンダリングする前に利用できるようにするコンテンツを待ちを意味します。これを避けるには、あなたのHTMLファイルの最後にリンクタグを置いてみてください。次に役に立つのは、メディアタイプを削除することです。このように、ブラウザはファイルをロードしますが、待機しません。
<link rel="stylesheet"
href="css.css"
media="none"
onload="if(media!='all')media='all'">
または、完全なソースを非同期に読み込みます。あなたのhtmlファイルの最後にこのような何かを行うことができ、更なるLIBなし:
(function() {
// caniuse requestAnimationframe?
var raf = window.RequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.msRequestAnimationFrame;
// defer loading of all non criticial CSS
function deferLoad() {
// put all relevant styles here
var asyncStyleSheets = [
'/stylesheets/async-stylesheet-1.css',
'/stylesheets/async-stylesheet-2.css'
];
var head = document.getElementsByTagName('head')[0];
for (var i = 0; i < asyncStyleSheets.length; i++) {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = asyncStyleSheets[i];
head.appendChild(link);
}
}
if (raf) {
raf(deferLoad);
} else if (window.addEventListener) {
window.addEventListener("load", deferLoad, false);
} else if (window.attachEvent) {
window.attachEvent("onload", deferLoad);
} else {
window.onload = deferLoad;
}
})();
しかし、あなたは重要な部分であなたのCSSを分割する可能性があることに注意してください(ページをレンダリングする前にそこにする必要がある)と、最初の装填の後に装填することができる非 - 密封部分。
しかし、私は約3-4 cssファイルを追加したいと思います。そして、このjsスクリプトは私のページをスピードアップしますか? – Dave599
@ Dave599すべてのCSSを1つのファイルに圧縮することをお勧めします。リソースを読み込むと、最初のレンダリングが高速化されます。私は私の答えを更新しました –
loadCSS( "css/font-awesome.min.css"); loadCSS( "css/bootstrap.min.css"); loadCSS( "css/jquery.bxlider.css"); loadCSS( "css/style.css"); これら3つのCSSファイルを1つだけ作成する必要がありますか? – Dave599
問題をloadCSSプラグインで修正しました。 https://github.com/filamentgroup/loadCSS/blob/master/src/onloadCSS.js
これは答えではありません –
テキストのスクリーンショットを含めるのではなく、そのメッセージのテキストを質問に追加する必要があります。その画像は読みにくく、ここに「画像の説明を入力」しても、盲目のユーザーはまったく役に立ちません。 – BSMP
https://github.com/filamentgroup/loadCSS/をお試しください。動的にスタイルを読み込む場合は、htmlの頭の部分で重要なスタイル(スクロールする前に目に見える部分)をインライン化することをお勧めします。最初の訪問時にスタイルのないコンテンツが表示されることはありません。 – Davey
私はそれを試してみましたが、私はそれを理解していません。このライブラリからどのファイルを含めるべきですか?私はsrcフォルダからloadcssファイルをインクルードしましたが、エラーメッセージが出ます。そのloadCSS関数は存在しません。 – Dave599