function hook_js_alter

Same name and namespace in other branches
  1. 7.x modules/system/system.api.php \hook_js_alter()
  2. 9 core/lib/Drupal/Core/Render/theme.api.php \hook_js_alter()
  3. 8.9.x core/lib/Drupal/Core/Render/theme.api.php \hook_js_alter()
  4. 10 core/lib/Drupal/Core/Render/theme.api.php \hook_js_alter()

Alters JavaScript before it is presented on the page.

Parameters

$javascript: An array of all JavaScript being presented on the page.

\Drupal\Core\Asset\AttachedAssetsInterface $assets: The assets attached to the current response.

\Drupal\Core\Language\LanguageInterface $language: The language for the page request that the assets will be rendered for.

See also

\Drupal\Core\Asset\AssetResolver

Related topics

3 functions implement hook_js_alter()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

ckeditor5_js_alter in core/modules/ckeditor5/ckeditor5.module
Implements hook_js_alter().
common_test_js_alter in core/modules/system/tests/modules/common_test/common_test.module
Implements hook_js_alter().
locale_js_alter in core/modules/locale/locale.module
Implements hook_js_alter().
1 invocation of hook_js_alter()
AssetResolver::getJsAssets in core/lib/Drupal/Core/Asset/AssetResolver.php
Returns the JavaScript assets for the current response's libraries.

File

core/lib/Drupal/Core/Render/theme.api.php, line 887

Code

function hook_js_alter(&$javascript, \Drupal\Core\Asset\AttachedAssetsInterface $assets, \Drupal\Core\Language\LanguageInterface $language) {
    // Swap out jQuery to use an updated version of the library.
    $javascript['core/assets/vendor/jquery/jquery.min.js']['data'] = \Drupal::service('extension.list.module')->getPath('jquery_update') . '/jquery.js';
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.