0
正如你所知道的頭WP樣式鏈接是這樣的:用<noscript>包裝wp打印樣式?
<link rel="stylesheet" id="my-id" href="my.css" type="text/css" media="all">
是否有任何過濾器或功能來包裝所有的CSS頭在
<noscript>
標籤?
Sory的問題,但沒有找到其他地方的東西!預先感謝幫助我!
正如你所知道的頭WP樣式鏈接是這樣的:用<noscript>包裝wp打印樣式?
<link rel="stylesheet" id="my-id" href="my.css" type="text/css" media="all">
是否有任何過濾器或功能來包裝所有的CSS頭在
<noscript>
標籤?
Sory的問題,但沒有找到其他地方的東西!預先感謝幫助我!
晚會有點遲,但認爲我會拋出我發現的東西。 (假設您正在嘗試通過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>'; }
可能不是最優雅的靈魂問題,但可能會做到這一點。