Defer CSS and JS load

Expire date
master
gnieark 7 years ago
parent a766c52bd9
commit 9646e86caf

@ -26,10 +26,10 @@
if (!defined('DC_RC_PATH')) { return; }
$this->registerModule(
/* Name */ "YASH Fork",
/* Name */ "YASH3",
/* Description*/ "Fork from Yet Another Syntax Highlighter. Modification: Juste one javascript called on public pages for yash3",
/* Author */ "Forked and modified by Gnieark, origin: Pep and contributors",
/* Version */ '0.9.2',
/* Version */ '0.9.3',
array(
/* Dependencies */ 'requires' => array(array('core','2.9')),
/* Permissions */ 'permissions' => 'usage,contentadmin',

@ -58,36 +58,40 @@ class dcYASH
$core->blog->settings->yash3->yash3_concat_version.".".
$ext;
if(file_exists($fileToSend)){
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (365*3600*24)));
echo file_get_contents($fileToSend);
}else{
throw new Exception ("Page not found",404);
}
}
public static function publicHeadContent()
{
global $core;
error_log($core->blog->url.$core->url->getBase('yash3'));
$core->blog->settings->addNamespace('yash3');
if ($core->blog->settings->yash3->yash3_active)
{
echo dcUtils::cssLoad(
$core->blog->url.$core->url->getBase('yash3')."/".
$core->blog->settings->yash3->yash3_concat_version.
".css"
);
}
}
public static function publicFooterContent()
{
global $core;
$core->blog->settings->addNamespace('yash3');
if ($core->blog->settings->yash3->yash3_active){
$cssURL = $core->blog->url.$core->url->getBase('yash3')."/".
$core->blog->settings->yash3->yash3_concat_version.
".css";
echo "<noscript id=\"deferred-yash-style\">\n".
" <link rel=\"stylesheet\" type=\"text/css\" href=\"".$cssURL."\"/>\n".
"</noscript>\n".
"<script>\n".
"var loadYashDeferredStyles = function() {\n".
" var addStylesNode = document.getElementById('deferred-yash-style');\n".
" var replacement = document.createElement('div');\n".
" replacement.innerHTML = addStylesNode.textContent;\n".
" document.body.appendChild(replacement)\n".
" addStylesNode.parentElement.removeChild(addStylesNode);\n".
"};\n".
"var raf = requestAnimationFrame || mozRequestAnimationFrame ||\n".
" webkitRequestAnimationFrame || msRequestAnimationFrame;\n".
"if (raf) raf(function() { window.setTimeout(loadYashDeferredStyles, 0); });\n".
"else window.addEventListener('load', loadYashDeferredStyles);\n".
"</script>";
$jsURL = $core->blog->url.$core->url->getBase('yash3')."/".
$core->blog->settings->yash3->yash3_concat_version.
".js";
$core->blog->settings->yash3->yash3_concat_version.
".js";
echo '<script async src="'.$jsURL.'"></script>';
}
}

Loading…
Cancel
Save