css延迟加载

hotfix/远程访问多媒体中心
尹诚诚 9 years ago
parent 11bb9728dc
commit 46e0f509f8

@ -62,14 +62,16 @@ class Index extends CI_Controller {
//网页内的js不需要提取
//$js_content.= $link_script->innertext;//js的内容
// $js_content.= $link_script;//js的内容包含<script>
// $link_script_content=$link_script->outertext;
$link_script_content = $link_script;
//含有$表示调用了jquery的函数添加延迟加载defer
// if(strpos( $link_script_content,'$')!==FALSE){
// $link_script_content= str_replace('defer','defer',$link_script_content);
// $link_script_content= str_replace('<script','<script defer',$link_script_content);
// }
$js_content.= $link_script;//js的内容包含<script>
if (strpos($link_script_content, '$') !== FALSE) {
$link_script_content = str_replace('defer', 'defer', $link_script_content);
$link_script_content = str_replace('<script', '<script defer', $link_script_content);
$js_content.= $link_script_content;
} else {
$js_content.= $link_script; //js的内容包含<script>
}
$link_script->outertext = ''; //删除js移动到页底
}
}
@ -100,12 +102,12 @@ class Index extends CI_Controller {
//把css移动到页面底部延迟加载
$lastload_js = '<noscript id="deferred-styles">';
foreach ($link_css_array as $item) {
$lastload_js.='<link rel="stylesheet" type="text/css" href="'.$item.'"/>';
$lastload_js.='<link rel="stylesheet" type="text/css" href="' . $item . '"/>';
}
$lastload_js.='</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>';
//把js移动到页面底部
foreach ($link_js_array as $item) {
$lastload_js.='<script src="' . $item . '"></script>';
$lastload_js.='<script defer src="' . $item . '"></script>';
}
$lastload_js.=$js_content;

Loading…
Cancel
Save