Score:0

การแทนที่ Drupal.ajax.prototype ไม่ทำงาน

ธง bn

ฉันกำลังพยายามแทนที่ Drupal.ajax.prototype.beforeSend ดังนี้:

(ฟังก์ชัน($) {
  // ใน mymodule.js ซึ่งปรากฏต่อจาก ajax.js ในการสร้างเพจ
  Drupal.ajax.prototype.beforeSend = ฟังก์ชัน (xmlhttprequest ตัวเลือก) {
    console.log('ถูกแทนที่!')
  }
})(jQuery);

ไฟล์ที่มีโค้ดแสดงอยู่ด้านล่าง ajax.js ของ core ในซอร์สของเพจ แต่เป็นไฟล์ console.log ที่ฉันใส่ไว้ใน ajax.js ของ core ก่อนส่งที่แสดงขึ้นมา

มีอะไรอีกบ้าง? มีอะไรเปลี่ยนแปลงใน Drupal หรือไม่ ใช้เวอร์ชัน 9.3 ไม่สามารถแทนที่ฟังก์ชันใดๆ เหล่านั้นได้

Kevin avatar
in flag
คุณผ่านวัตถุ 'Drupal' ด้วยหรือไม่
KrzysiekK avatar
bn flag
ฉันยังผ่าน 'jQuery, Drupal, drupalSettings'
4uk4 avatar
cn flag
`ajax` สะกดว่า `Ajax` ไม่ใช่เหรอ?
KrzysiekK avatar
bn flag
ว้าว จริงๆ แล้วมีทั้ง "ajax" และอันที่ฉันต้องการคือสะกดว่า 'Ajax' ขอขอบคุณ! ไม่สามารถทำเครื่องหมายความคิดเห็นเป็นคำตอบได้
Score:1
ธง cn

มีสองวัตถุจาวาสคริปต์:

  1. Drupal.ajax
  2. Drupal.Ajax

คุณต้องแทนที่ต้นแบบใน Drupal.Ajax. สำหรับแต่ละออบเจกต์ Ajax ที่ประกาศในการตั้งค่า Drupal อินสแตนซ์ของออบเจกต์นั้นจะถูกจัดเก็บไว้ใน Drupal.ajax.instance.

sonfd avatar
in flag
คุณรู้หรือไม่ว่าสิ่งนี้ถูกบันทึกไว้ที่ไหน? ฉันมองไปรอบๆ เล็กน้อย และส่วนใหญ่ฉันแค่พบคำตอบสำหรับคำถามแบบนี้ ด้วยข้อมูลแบบนี้ แต่ไม่มีแหล่งที่มาที่เชื่อมโยง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา