เนื่องจาก @เควิน ที่กล่าวถึงในความคิดเห็นด้านบน คุณกำลังเข้าใกล้สิ่งนี้จากมุมที่ไม่ถูกต้อง
โดยการออกแบบ ใช้ Drupal core (ตั้งแต่ Drupal 5 เป็นอย่างน้อย) ตัวกรองข้อความและรูปแบบการป้อนข้อมูล เพื่อฆ่าเชื้อ HTML ที่เพิ่มโดยผู้ใช้ในโปรแกรมแก้ไข WYSIWIG เช่น CKEditor เริ่มต้น
Drupal เวอร์ชันก่อนหน้าได้รับอนุญาตมากกว่าในเรื่องนี้ แต่แพตช์ความปลอดภัยเป็นเวลาหลายปีสำหรับการใช้ประโยชน์จากสคริปต์ข้ามไซต์ทำให้การแทรก JS แบบอินไลน์ในลักษณะนี้เป็นเรื่องยากมาก และด้วยเหตุผลที่ดี
ด้วย Drupal คุณไม่ได้แค่พูดว่า "ฉันเชื่อว่าตัวเองจะเพิ่ม JS ในบทความนี้" แต่คุณกำลังพูดว่า "ฉันเชื่อใจผู้ใช้ทุกคนที่มีบทบาทอนุญาตให้พวกเขาใช้ตัวกรองข้อความนี้" การสร้างตัวกรองข้อความที่ไม่ปลอดภัยนั้นไม่ใช่เรื่องง่ายอีกต่อไป หากเป็นเช่นนั้น คุณควรจำกัดการใช้งานไว้เฉพาะผู้ใช้ที่เชื่อถือได้และมีบทบาทผู้ดูแลระบบเท่านั้น
สำหรับ Drupalist ที่มีประสบการณ์ ไม่ใช่เรื่องใหญ่ที่จะแนบเนื้อหา JavaScript เข้ากับอาร์เรย์การแสดงผล เนื้อหา CSS และ JS ได้รับการจัดการใน Drupal โดยการสร้าง ห้องสมุด ซึ่งสามารถแนบกับอาร์เรย์เรนเดอร์ของ Drupal ได้หลายวิธี โดยใช้โมดูลแบบกำหนดเองหรือธีมแบบกำหนดเอง ผ่านโค้ด PHP หรือเทมเพลต Twig
(หากคุณกำลังสร้างไซต์ Drupal ปราศจาก ธีมที่กำหนดเอง คุณอาจต้องพิจารณาใหม่ คุณสามารถสร้าง ธีมย่อย ไม่ว่าธีมปัจจุบันของคุณคืออะไร เพื่อให้คุณสามารถแก้ไขสิ่งต่างๆ เช่น ไลบรารี JS และเทมเพลต Twig ได้อย่างง่ายดาย)
อย่างไรก็ตาม เราเข้าใจว่าคุณลังเลที่จะเรียนรู้การพัฒนาโมดูลหรือธีมแบบกำหนดเองเพียงเพื่อเพิ่ม JavaScript เล็กน้อย
ฟอรัมนี้ควรใช้สำหรับตอบคำถามเกี่ยวกับ Drupal core ไม่แนะนำโมดูลร่วม อย่างไรก็ตาม มีโมดูลค่อนข้างใหม่ที่อาจตรงกับความต้องการของคุณ:
ส่วนประกอบ
จากหน้าโครงการของโมดูลส่วนประกอบ:
การเพิ่มส่วนประกอบ JS ลงในไซต์ Drupal ของคุณง่ายขึ้นมาก เพียงรวมส่วนประกอบ JS ของคุณ (ประเภทใดก็ได้) กับ *.component.yml
และใส่ไว้ในโมดูลหรือธีมของคุณ ตอนนี้ส่วนประกอบของคุณจะพร้อมใช้งานใน Drupal เป็นบล็อก - โดยอัตโนมัติ!
เป็นที่ยอมรับว่ามันไม่ง่ายเหมือนการวางบางสิ่งในฟิลด์ WYSIWYG แต่นั่นไม่เคยได้ผลอยู่ดี (เพราะความปลอดภัย) คุณยังคงต้องเริ่มต้นด้วยการสร้างโมดูล ธีม หรือธีมย่อยที่กำหนดเอง เพื่อให้คุณสามารถเพิ่ม ส่วนประกอบ JS ของคุณไปที่ component.yml
ไฟล์. แต่ถ้าคุณมาจากความคิดของนักพัฒนา JS วิธีนี้จะช่วยให้คุณเขียน JS และติดไว้ในบล็อกของหน้า
หมายเหตุด้านความปลอดภัยที่จำเป็น:
โครงการนี้ไม่ครอบคลุมโดยนโยบายคำแนะนำด้านความปลอดภัย
ใช้ความเสี่ยงของคุณเอง! อาจมีช่องโหว่ที่เปิดเผยต่อสาธารณะ
แต่เมื่อพิจารณาว่าคำถามทั้งหมดของคุณเกี่ยวกับการเอาชนะมาตรการรักษาความปลอดภัยในตัวของ Drupal ต่อการใช้ประโยชน์จาก XSS ฉันไม่สามารถจินตนาการได้ว่าคำเตือนนี้จะขัดขวางคุณ!
ติดตาม: JavaScript แบบอินไลน์ เป็น อนุญาตในโปรแกรมแก้ไข Gutenberg จาก WordPress และนั่นคือเหตุผลที่ @brown-paul แนะนำให้ใช้ บรรณาธิการ Gutenberg ใน Drupalซึ่งอาจง่ายกว่าสำหรับคุณหากคุณมาจากพื้นหลังของ WordPress