php图片延迟加载、懒加载的方法?

WBOY
リリース: 2016-06-06 20:26:07
オリジナル
2467 人が閲覧しました

我现在的做法是,将图片的src用占位符图片代替,并使用data-src属性保存真实的图片地址,然后监控window的scroll事件,当图片出现在屏幕中时,就将data-src的值赋值给src。

但是这种做法不太方便,比如我现在不想延迟加载了,那么对于那些已经延迟加载的文章改起来就非常麻烦,比如我想在搜索引擎访问的时候不用延迟加载,用户访问的时候用延迟加载,不知道怎样做可以方便的进行切换呢?

回复内容:

我现在的做法是,将图片的src用占位符图片代替,并使用data-src属性保存真实的图片地址,然后监控window的scroll事件,当图片出现在屏幕中时,就将data-src的值赋值给src。

但是这种做法不太方便,比如我现在不想延迟加载了,那么对于那些已经延迟加载的文章改起来就非常麻烦,比如我想在搜索引擎访问的时候不用延迟加载,用户访问的时候用延迟加载,不知道怎样做可以方便的进行切换呢?

img = new Image(); img.src = 'http://www.helloworld.com/test.jpg'; img.onload = function() { var imageContainer = document.getElementById('imgContainer'); imageContainer.appendChild(img); }

你可以在数据库里存储原样的也就是src的内容,在输出之前统一加上过滤器,自动替换为data-src的形式。这样当你想恢复原样的时候,只需要把过滤器调用删掉就行了。

<code>function add_lazy_load_filter($html) {
    return preg_replace("/<img  alt="php图片延迟加载、懒加载的方法?" >/is", "<img  data-src='\"\\1\"' alt="php图片延迟加载、懒加载的方法?" >", $html);
}</code>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!