Link to home
Start Free TrialLog in
Avatar of Camillia
CamilliaFlag for United States of America

asked on

How to test if jquery lazy loading works?

So, I finally got this example working

https://github.com/tuupola/jquery_lazyload#readme

Now, how can I actually test to see if the lazy loading works? I use Chrome and I can see the script and the class="lazy" on the image tags...but how can I know it's actually working? what test can I run?

thanks
Avatar of Randy Downs
Randy Downs
Flag of United States of America image

The best way to test is to create 2 identical pages: one with lazy and another without. Time the download of both. Lazy should download faster since it delays images.
In Developer Tools under Network you can see assets as they are loaded.
Avatar of Camillia

ASKER

Yes, I see the lazy load jquery in the list, in developer tools.
ASKER CERTIFIED SOLUTION
Avatar of Gary
Gary
Flag of Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
so, scroll up and down the page and look at the network tab , column "name" to see if the images are being displayed in that column??

If that's the case...i don't see the "network" tab being refreshed with new data...
Then its not working - a live link will help or even just a test page of your code.
Would a page source work? I don't want to post a link here, but i will, if i have to.
I've attached page source.
page-source.txt
This is how I load it, maybe this is not correct

$("body").append('<script>$("img.lazy").lazyload();</script>');

And when it renders, it looks like this


..... code here
<script>$("img.lazy").lazyload();</script>
</body>
</html>
That's a lot of code to try and debug
You have js error's with app.search.results and this.httpchannel

But all the images seem to be not found.
Why are using append to add the script. You should just add the script at the end of the page or put it in a document.ready function.
sorry, i was just testing that's why images are not found. Can you try that link again?
>>Why are using append to add the script. You should just add the script at the end of the page or put it in a document.ready function.

Because this is a vendor app and I cant just easily add code to it. So I added it here, in this code.

Now someone said i don't see it working because the images are too small.
// app initializations called from jQuery(document).ready at the end of the file
			init: function() {
				// register initializations here
				
				// quick view dialog div
				jQuery("<div/>").attr("id", "QuickViewDialog").html(" ").appendTo(document.body);
				
				// bonus product dialog div
				jQuery("<div/>").attr("id", "BonusProductDialog").html(" ").appendTo(document.body);
				
				
				$("body").append('<script>$("img.lazy").lazyload();</script>'); 

...

Open in new window

Not sure about this, but I would think, you would need the lazyload in a function and then call the function after it has been appended

$("body").append('<script>function dolazyload(){$("img.lazy").lazyload();}</script>');
dolazyload();
i can try it.