An Ember.js addon that provides scroll-to-top behavior on route transitions while preserving browser history scroll position.
ember-router-scroll is an Ember.js addon that modifies the default scroll behavior of single-page applications to mimic traditional websites. It automatically scrolls to the top of the page on most route transitions while preserving scroll position when using the browser's back or forward buttons, improving user experience for applications without nested views.
Ember.js developers building single-page applications that do not use nested views and want scroll behavior that matches user expectations of traditional multi-page websites.
Developers choose this addon because it provides intuitive scroll management out-of-the-box, with configurable options for scroll targets and timing, and fine-grained control over preserving scroll position via query parameters, controller properties, or a service.
🗔 Scroll to top with preserved browser history scroll position.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically scrolls to top on route transitions and preserves position on browser back/forward navigation, making SPAs feel like regular websites as shown in the visual demos.
Allows scrolling to custom elements via scrollElement or targetElement configuration, and supports scheduling options like scrollWhenAfterRender or scrollWhenIdle for precise control.
Enables preserving scroll position for specific routes through query parameters, controller properties, or a service, offering fine-grained management for complex UI scenarios.
Requires enabling historySupportMiddleware and configuring options in environment.js, adding initial overhead compared to Ember's default behavior.
Default behavior may not suit nested routes; the README admits issues and requires manual intervention like query params or controller logic to preserve scroll position.
Breaking changes between versions, such as removing Router extension in v4.x, can complicate upgrades and require code updates, as noted in the usage sections.