Git Product home page Git Product logo

Comments (11)

anhvandev avatar anhvandev commented on August 22, 2024 1

Hi @anhvandev Bạn có thể cho mình thêm thông tin về cách bạn implement thư viện và lỗi gặp phải không?

@shinsenter
Để mình setup lại rồi gửi bạn nhé

from defer.php.

shinsenter avatar shinsenter commented on August 22, 2024

Hi @anhvandev
Bạn có thể cho mình thêm thông tin về cách bạn implement thư viện và lỗi gặp phải không?

from defer.php.

anhvandev avatar anhvandev commented on August 22, 2024

@shinsenter

  • Bước 1: Đầu tiên mình cài gói bằng composer.
  • Bước 2:

Sau đó setup hook như thế này:

image

Nội dung file Defer.php:
image

  • Bước 3: chuyển thử một số thẻ img về ban đầu để xem thư viện chuyển đổi
  • Bước 4: Xem thử kết quả:

Ảnh
image
image
Script:
image
Network All:
image

from defer.php.

shinsenter avatar shinsenter commented on August 22, 2024

@anhvandev
Cảm ơn bạn vì thông tin, có vẻ như PHP5.6 không phải vấn đề trong setup của bạn.

Ngoài ra thư viện defer.js hình như chưa được load dẫn đến tình trạng này, thực sự trong mô tả của bạn không chụp phần này nên mình cũng khó phán đoán.

Bạn có thể mở cho mình đường link đến website staging và đang bật defer.js để mình inspect thêm không?

from defer.php.

anhvandev avatar anhvandev commented on August 22, 2024

@anhvandev Cảm ơn bạn vì thông tin, có vẻ như PHP5.6 không phải vấn đề trong setup của bạn.

Ngoài ra thư viện defer.js hình như chưa được load dẫn đến tình trạng này, thực sự trong mô tả của bạn không chụp phần này nên mình cũng khó phán đoán.

Bạn có thể mở cho mình đường link đến website staging và đang bật defer.js để mình inspect thêm không?

Mình đã thấy thư viện defer,js đã được inject vào head. Mình ko public source code lên đc mong bạn thông cảm

from defer.php.

shinsenter avatar shinsenter commented on August 22, 2024

@anhvandev
Cho mình hỏi thêm bạn có đang dùng framework nào render các element cho frontend (như VueJS, ReactJS, Angular v.v..) hay không? Hoặc các thẻ hình của bạn có được khởi tạo bằng javascript (bao gồm cả AJAX, tạo DOM trong quá trình render trang web) hay không?
Do thư viện defer.js không tự trigger cho các thẻ được khởi tạo dạng này. Nếu website của bạn tạo động UI bằng JS thì bạn không cần quan tâm tới việc sử dụng các thư viện lazyload nữa.

from defer.php.

anhvandev avatar anhvandev commented on August 22, 2024

@anhvandev Cho mình hỏi thêm bạn có đang dùng framework nào render các element cho frontend (như VueJS, ReactJS, Angular v.v..) hay không? Hoặc các thẻ hình của bạn có được khởi tạo bằng javascript (bao gồm cả AJAX, tạo DOM trong quá trình render trang web) hay không? Do thư viện defer.js không tự trigger cho các thẻ được khởi tạo dạng này. Nếu website của bạn tạo động UI bằng JS thì bạn không cần quan tâm tới việc sử dụng các thư viện lazyload nữa.

như mình chụp thì là render hoàn toàn bằng php thôi ko dùng js đâu bạn.

from defer.php.

shinsenter avatar shinsenter commented on August 22, 2024

@anhvandev
Một lần nữa, thực sự rất khó để phán đoán nếu ko có đầy đủ thông tin. Mình có thể xin HTML output của website của bạn trước khi apply defer.php hay không?

from defer.php.

anhvandev avatar anhvandev commented on August 22, 2024

@anhvandev Một lần nữa, thực sự rất khó để phán đoán nếu ko có đầy đủ thông tin. Mình có thể xin HTML output của website của bạn trước khi apply defer.php hay không?

mình gửi bạn nhé
before.txt
after.txt

from defer.php.

shinsenter avatar shinsenter commented on August 22, 2024

@anhvandev
Mình xem HTML trong after.txt thì thấy <script id="defer-js"></script> đoạn này bị rỗng, bên trong đáng lẽ ra phải embed thư viện defer.js mới đúng.

Trong options của bạn không set cho tùy chọn deferjs_src, mặc định nó sẽ download file từ https://cdn.jsdelivr.net/npm/@shinsenter/[email protected]/dist/defer_plus.min.js về và cache lại. Có vẻ lúc đó server của bạn đã không thể download được file này và cache một nội dung rỗng.

Bạn thử giúp mình download defer_plus.min.js từ đường link trên, lưu trên cùng thư mục với file Defer.php của bạn, và trong option của thư viện, giúp mình dẫn để tập tin ở local xem sao nhé!

<?php
// ....
$options = [
    'debug_mode' => false,
    'deferjs_src'  => __DIR__ . '/defer_plus.min.js',
];
$defer  = new \AppSeeds\Defer($options);

from defer.php.

anhvandev avatar anhvandev commented on August 22, 2024

@anhvandev Mình xem HTML trong after.txt thì thấy <script id="defer-js"></script> đoạn này bị rỗng, bên trong đáng lẽ ra phải embed thư viện defer.js mới đúng.

Trong options của bạn không set cho tùy chọn deferjs_src, mặc định nó sẽ download file từ https://cdn.jsdelivr.net/npm/@shinsenter/[email protected]/dist/defer_plus.min.js về và cache lại. Có vẻ lúc đó server của bạn đã không thể download được file này và cache một nội dung rỗng.

Bạn thử giúp mình download defer_plus.min.js từ đường link trên, lưu trên cùng thư mục với file Defer.php của bạn, và trong option của thư viện, giúp mình dẫn để tập tin ở local xem sao nhé!

<?php
// ....
$options = [
    'debug_mode' => false,
    'deferjs_src'  => __DIR__ . '/defer_plus.min.js',
];
$defer  = new \AppSeeds\Defer($options);

ok thank bạn nha

from defer.php.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.