# Understanding infinite scrolling

**URL:** https://meta.discourse.org/t/understanding-infinite-scrolling/30804
**Category:** Using Discourse
**Tags:** explanation
**Created:** [July 5, 2015, 3:27pm UTC](https://meta.discourse.org/t/understanding-infinite-scrolling/30804 "2015-07-05T15:27:14Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [July 5, 2015, 3:27pm UTC](https://meta.discourse.org/t/understanding-infinite-scrolling/30804/1 "2015-07-05T15:27:14Z")

</div>

> 🔖 This is an explanation of what “infinite scrolling” is and how it is implemented in Discourse.
> 
> 🙋 Required user level: All users

Infinite scrolling is a feature designed to improve the user experience by automatically loading more content as you scroll down a page, instead of requiring manual page navigation.

## Summary

In this documentation, we’ll cover:

- The concept of infinite scrolling.
- How Discourse implements infinite scrolling.
- Key advantages of infinite scrolling in Discourse.

## What is infinite scrolling?

Infinite scrolling refers to the automatic loading of additional content as the user nears the bottom of a web page. This eliminates the need for pagination and provides a seamless browsing experience. As new content is loaded dynamically, users can keep scrolling without any interruptions.

## How Discourse implements infinite scrolling

Discourse uses HTML5’s [History API](https://developer.mozilla.org/en-US/docs/Web/API/History_API) to implement infinite scrolling efficiently. Here’s how it works:

1. **Address Bar Update** : As you scroll, the browser’s address bar updates in real-time to reflect your reading position.
2. **Back/Forward Button Integration** : Browser back and forward buttons work as expected, allowing users to navigate through the content seamlessly.
3. **Timeline Navigation** : Discourse’s timeline tells you how far along you are and lets you jump to any point in the content.
4. **Efficient Content Loading** : Only JSON (JavaScript Object Notation) calls are made to fetch new content. No elements need to be redrawn, resulting in minimal bandwidth usage while providing a smooth experience.

## Best practices

To further enhance your experience with Discourse’s infinite scrolling:

- Use the timeline for quick navigation and easy placement within the content.
- Leverage browser back and forward buttons for efficient article navigation without losing your place.

## Common issues and solutions

### Issue: Browser lagging or hanging while scrolling

**Solution** : Ensure you have a stable internet connection. If the problem persists, try clearing your browser cache or disabling unnecessary browser extensions.

### Issue: Content fails to load

**Solution** : Refresh the page or check if there are any disruptions in your internet connection. If the issue is not resolved, report it to the forum administrator.

## Additional resources

- [Infinite Scrolling that Works | Evil Trout Inc.](http://eviltrout.com/2013/02/16/infinite-scrolling-that-works.html)
- [Infinite Scroll: Let’s Get To The Bottom Of This — Smashing Magazine](http://www.smashingmagazine.com/2013/05/03/infinite-scrolling-lets-get-to-the-bottom-of-this)

> Last edited by @hugh 2024-06-20T05:21:20Z
> 
> > **Check document**
> >
> > Perform check on document:
