2016-06-13 3 views
0

あなたが頭の中でWPスタイルシートを知っているように、このようにリンクされている:wrap印刷スタイルを<noscript>と折り返しますか?

<link rel="stylesheet" id="my-id" href="my.css" type="text/css" media="all"> 

<noscript>タグに頭の中ですべてのCSSをラップする任意のフィルタまたは機能がありますか?

ソーリーは質問ですが、他の場所では何も見つかりませんでした。私に手伝ってくれてありがとう!

答えて

0

パーティーに少し遅れましたが、私が見つけたものを投げると思っていました。 (これは、Google Speed Insightsとスクリプトのブロック配信https://developers.google.com/speed/docs/insights/OptimizeCSSDeliveryのために達成しようとしていると仮定します)。

add_action('wp_print_styles', 'my_print_styles'); 

function my_print_styles($handles = false) { 
    global $wp_styles; 
    if (! ($wp_styles instanceof WP_Styles)) { 
     if (! $handles) { 
     return array(); // No need to instantiate if nothing is there. 
     } 
    } 

echo '<noscript id="deferred-styles">'; 
wp_styles()->do_items(); 
echo '</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>'; } 

恐らく最も優雅な魂は問題にはなりませんが、おそらくトリックを行います。

関連する問題