2016-09-12 18 views
0

私はhttps://www.giftofspeed.com/defer-loading-css/http://keithclark.co.uk/articles/loading-css-without-blocking-render/の記事を読んでいます。Joomlaはレンダリングブロックを排除します。

私は$ document-> addStyleSheet

https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.vnsinfo.com%2Fsilva%2F&tab=desktop

を通じて、いくつかのCSSを追加しているが、私はいくつかは、CSSを遮断レンダリングがある参照してください。

https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.vnsinfo.com%2Fsilva%2F&tab=desktop

がどのように私は$ document-> addStyleSheet介してラインのonload = "メディア= 'すべて' の場合(!= 'すべてのメディア)" を追加することができます:あなたはから同じことを確認することができますか?

また、以下のコードをJoomlaのCSSで使用して外部のCSSを使用することはできますか?

<noscript id="deferred-styles"> 
     <link rel="stylesheet" type="text/css" href="small.css"/> 
    </noscript> 
    <script> 
     var loadDeferredStyles = function() { 
     var addStylesNode = document.getElementById("deferred-styles"); 
     var replacement = document.createElement("div"); 
     replacement.innerHTML = addStylesNode.textContent; 
     document.body.appendChild(replacement) 
     addStylesNode.parentElement.removeChild(addStylesNode); 
     }; 
     var raf = requestAnimationFrame || mozRequestAnimationFrame || 
      webkitRequestAnimationFrame || msRequestAnimationFrame; 
     if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); }); 
     else window.addEventListener('load', loadDeferredStyles); 
    </script> 

答えて

0
$document = JFactory::getDocument();  
$document->addCustomTag('<noscript id="deferred-styles"><link rel="stylesheet" type="text/css" href="small.css"/></noscript>'); 
$document->addScriptDeclaration(" 
     var loadDeferredStyles = function() { 
     var addStylesNode = document.getElementById('deferred-styles'); 
     var replacement = document.createElement('div'); 
     replacement.innerHTML = addStylesNode.textContent; 
     document.body.appendChild(replacement) 
     addStylesNode.parentElement.removeChild(addStylesNode); 
     }; 
     var raf = requestAnimationFrame || mozRequestAnimationFrame || 
      webkitRequestAnimationFrame || msRequestAnimationFrame; 
     if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); }); 
     else window.addEventListener('load', loadDeferredStyles); 
    "); 
+0

感謝。私はCSSの名前/パスと一緒にコードを追加しましたが、CSSがロードされていないようです。あなたは私を説明できますか?または、私に何か別の方法を提案しますか? –

+0

私は可能性があります、あなたはこのjoomlaカスタムHTMLモジュールを試すことができると思うhttps://support.ecwid.com/hc/en-us/articles/207807825-How-to-add-Javascript-code-to- articles-or-Custom-HTML-modules-in-Joomla –

関連する問題