diff --git a/application/controllers/information.php b/application/controllers/information.php index 73acae9e..8a65b5d7 100644 --- a/application/controllers/information.php +++ b/application/controllers/information.php @@ -423,7 +423,7 @@ class Information extends CI_Controller } else if (strcasecmp($site_code, "cht") == 0 && !empty($auto_update_cache)) { $update_info_log = $this->update_cache($ic_url); } else if (strcasecmp($site_code, "ah") == 0 && !empty($auto_update_cache)) { - $update_info_log = $this->update_cache($ic_url); + //$update_info_log = $this->update_cache($ic_url); } else if (strcasecmp($site_code, "cht") != 0 && strcasecmp($site_code, "gm") != 0 && strcasecmp($site_code, "ah") != 0) { //非cht站点并且非GM并且非AH $update_info_log = $this->update_cache($ic_url); } else if (strcasecmp($site_code, "ct") == 0 && !empty($auto_update_cache)) { @@ -649,7 +649,10 @@ class Information extends CI_Controller if (!empty($meta_addon_js)) { $template = str_replace('', '', $template); } - $template = str_replace('', $information->ic_content, $template); + //设置内容图片缓加载 + $lazy_content=$this->html_optimize_lib->set_lazy_loader($information->ic_content,'https://data.chinahighlights.com/grey.gif'); + $template = str_replace('', $lazy_content, $template); + //Google广告代码 //if (!empty(get_meta($information->ic_id, 'meta_google_ad_content'))) { $template = str_replace('', '', $template); @@ -755,7 +758,10 @@ class Information extends CI_Controller if (!empty($meta_addon_js)) { $template = str_replace('', '', $template); } - $template = str_replace('', $information->ic_content, $template); + //设置内容图片缓加载 + $lazy_content=$this->html_optimize_lib->set_lazy_loader($information->ic_content,'https://data.asiahighlights.com/grey.gif'); + $template = str_replace('', $lazy_content, $template); + //Google广告代码 //if (!empty(get_meta($information->ic_id, 'meta_google_ad_content'))) { $template = str_replace('', '', $template); diff --git a/application/libraries/html_optimize_lib.php b/application/libraries/html_optimize_lib.php index 4f8b51a3..7c92ec4f 100644 --- a/application/libraries/html_optimize_lib.php +++ b/application/libraries/html_optimize_lib.php @@ -20,8 +20,26 @@ class html_optimize_lib $this->CI->load->library('simple_html_dom_lib'); } +//开启了延迟加载 + public function set_lazy_loader($html, $grey_pic) + { + + $html_object = str_get_html($html); + + foreach ($html_object->find('img') as $image) { + $img_src = $image->src; + if (!empty($image->originalsrc)) { + $img_src = $image->originalsrc; + } + $image->src = $grey_pic; + $image->loader = 'lazy'; + $image->originalsrc = $img_src; + } + + return $html_object->save(); + } - //获取图片尺寸 + //获取图片尺寸,$lazy_loader是否开启延迟加载 public function set_image_size($html) { $html_object = str_get_html($html); @@ -34,9 +52,9 @@ class html_optimize_lib $img_src = $image->originalsrc; } //图片已经设置了尺寸的不再修改 - if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸 + if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸 $img_src_urls = parse_url(trim($img_src)); - $request_size[$img_src_urls['host']][] =$img_src_urls['path']; + $request_size[$img_src_urls['host']][] = $img_src_urls['path']; } } @@ -48,7 +66,7 @@ class html_optimize_lib if (!empty($size_data)) { $size_data = json_decode($size_data); foreach ($size_data as $size_item) { - $size_item->photo = "https://".$host . $size_item->photo;//这个作为索引,找到对应url的尺寸 + $size_item->photo = "https://" . $host . $size_item->photo;//这个作为索引,找到对应url的尺寸 $image_sizes[$size_item->photo] = $size_item; } } @@ -62,12 +80,12 @@ class html_optimize_lib $img_src = $image->originalsrc; } //图片已经设置了尺寸的不再修改 - if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸 + if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸 $img_src_urls = parse_url(trim($img_src)); - $img_index="https://".$img_src_urls['host'] . $img_src_urls['path']; - if(!empty($image_sizes[$img_index])){ - $image->width=$image_sizes[$img_index]->width; - $image->height=$image_sizes[$img_index]->height; + $img_index = "https://" . $img_src_urls['host'] . $img_src_urls['path']; + if (!empty($image_sizes[$img_index])) { + $image->width = $image_sizes[$img_index]->width; + $image->height = $image_sizes[$img_index]->height; } }