Рейтинг:0

Переопределение Drupal.ajax.prototype не работает

флаг bn

Я пытаюсь переопределить Drupal.ajax.prototype.beforeSend следующим образом:

(функция ($) {
  // В mymodule.js, который появляется после ajax.js в построении страницы
  Drupal.ajax.prototype.beforeSend = функция (xmlhttprequest, параметры) {
    console.log('переопределено!')
  }
})(jQuery);

Файл, содержащий код, указан ниже ajax.js ядра в исходном коде страницы, но появляется именно console.log, который я поместил в ajax.js ядра перед отправкой.

Что еще нужно для этого? Изменилось ли что-нибудь в Drupal? Использование версии 9.3. Невозможно переопределить ни одну из этих функций.

Kevin avatar
флаг in
Вы также передали объект «Drupal»?
KrzysiekK avatar
флаг bn
Я даже прошел «jQuery, Drupal, drupalSettings».
4uk4 avatar
флаг cn
Разве «ajax» не пишется как «Ajax»?
KrzysiekK avatar
флаг bn
Вау, на самом деле есть оба «ajax», и тот, который мне нужен, действительно пишется «Ajax». Спасибо! Однако не могу пометить комментарий как ответ.
Рейтинг:1
флаг cn

Есть два объекта javascript:

  1. Drupal.ajax
  2. Drupal.Ajax

Вы должны переопределить прототипы в Drupal.Ajax. Для каждого объекта Ajax, объявленного в настройках Drupal, его экземпляр будет сохранен в Drupal.ajax.экземпляры.

sonfd avatar
флаг in
Вы знаете, где это задокументировано? Я немного осмотрелся и в основном просто нахожу ответы на такие вопросы, с такой информацией, но без связанного источника.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.