Score:0

ฉันจะทำให้รหัส JavaScript นี้ทำงานได้อย่างไรเมื่อเปิดใช้งานโมดูล BigPipe

ธง bj

ฉันพยายามดิ้นรนกับการดำเนินการ JavaScript เมื่อฉันต้องการกำหนดเป้าหมายองค์ประกอบ DOM ที่เพิ่มผ่านโมดูล BigPipe เมื่อฉันเข้าสู่ระบบบนไซต์ Drupal ของฉัน

รหัสต่อไปนี้ทำงานเมื่อฉันไม่ได้เข้าสู่ระบบ แต่จะไม่ถูกดำเนินการเมื่อฉันเข้าสู่ระบบ

(ฟังก์ชัน ($) {
  'ใช้อย่างเข้มงวด';

  Drupal.behavior.bpBlockTest = {
    แนบ: ฟังก์ชัน (บริบท การตั้งค่า) {
      $('.my-block', context).once('bp-block-testing').each(function () {
        var $myBlock = $(สิ่งนี้);
        var $addOn = $('<span>ส่วนเสริม</span>');
        $addOn.appendTo($myBlock);
      });
    }
  }

}(jQuery));
Score:2
ธง cn

สำหรับเวอร์ชันปัจจุบันของ Drupal นี่เป็นวิธีที่ถูกต้องในการเรียกใช้ Javascript (รวมถึง jQuery, Drupal และ Drupal แบบใหม่เมื่อไลบรารี):

(ฟังก์ชัน ($, Drupal หนึ่งครั้ง) {
  Drupal.behaviors.myModuleBehavior = {
    แนบ: ฟังก์ชัน (บริบท การตั้งค่า) {
      ครั้งเดียว ('myCustomBehavior', 'input.myCustomBehavior', บริบท).forEach (ฟังก์ชัน (องค์ประกอบ) {
        // ใช้เอฟเฟกต์ myCustomBehavior กับองค์ประกอบเพียงครั้งเดียว
      });
    }
  };
})(jQuery, Drupal, ครั้งเดียว);

MODULE.libraries.yml หรือ THEME.libraries.yml:

ฟูบาร์:
  จส:
    js/foobar.js: {}
  การพึ่งพา:
    - หลัก / drupal
    - คอร์ / jquery
    - แกน/ครั้ง

จาก https://www.drupal.org/docs/drupal-apis/javascript-api/javascript-api-overview

ดูสิ่งนี้ด้วย https://www.drupal.org/node/3158256

โพสต์คำตอบ

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