Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Drupal 11.4.6 Update released for Drupal core (11.4.6)! Release: Drupal 10.6.16 Update released for Drupal core (10.6.16)! Release: Drupal 12.0.0-alpha1 First alpha version released for Drupal core (12.0.0-alpha1). Release: AI (Artificial Intelligence) 1.5.0-rc3 New release candidate for module ai (1.5.0-rc3). Release: Smart Image Optimizer 1.0.1 Minor update available for module smart_image_optimizer (1.0.1). Release: EzContent API - Enhanced De-coupled CMS Experience 2.3.10 Minor update available for module ezcontent_api (2.3.10). Release: Collector Systems Gallery 1.0.11 Minor update available for module collector_systems (1.0.11). Release: EzContent API - Enhanced De-coupled CMS Experience 2.1.4 Minor update available for module ezcontent_api (2.1.4). Module Revived: EzContent API - Enhanced De-coupled CMS Experience 2.3.9 Module ezcontent_api updated after 15 months of inactivity (2.3.9). Security Coverage: Analyze PostHog Module analyze_posthog now has official Drupal security advisory coverage.

Views AJAX History toggle

33 sites Security covered Drupal 10–11

Part of the Views ecosystem · 207 projects

View on drupal.org

This module allows you to control whether AJAX interactions on Views (like paging or filtering) update the browser's URL. This is useful for embedded or secondary Views on a page to prevent conflicts with back-button behavior. You can enable or disable this feature on a per-display basis within the Views UI.

About

Views AJAX History Toggle adds a per-display option to the Views UI that controls
whether AJAX interactions — paging, exposed filters, table sorting — update the
browser URL via history.replaceState().

Since Drupal 10.1, ViewAjaxController automatically appends a
SetBrowserUrl AJAX command to every AJAX-enabled View response,
keeping the address bar in sync with the current filter and pager state. This
is exactly right for full-page search or listing views. For embedded,
block, or secondary views
— think a sidebar facet list, an off-canvas
tray, or a second view on the same page — the unconditional URL update breaks
back-button behaviour and can cause multiple views to overwrite each other's
URL changes. This module fills that gap.

Features

  • Adds an AJAX history toggle to the Other section of every Views display.
  • Defaults to Enabled — zero configuration required for existing views.
  • Works per display, so a single view can have history enabled on its page display and disabled on its block display.
  • Implemented as a Display Extender + event subscriber: no core overrides, no patches.
  • Backward-compatible: displays without the option stored (created before the module was installed) behave as if the option is enabled.
  • Automatically registers and deregisters the display extender on install/uninstall.

Requirements

  • Views (included in Drupal core)

Getting started

Open any AJAX-enabled View in the UI, find AJAX history
under the display's Other section, and uncheck
Enable AJAX history for any display where you want URL updates
suppressed.

Depends on

Dependencies of the latest stable release

  • views Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Jun 2026
Latest release
2 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.x-dev Dev 10–11 Jun 5, 2026
1.0.0 Stable 10–11 Jun 5, 2026