La fel de @Kevin menționat în comentariile de mai sus, abordezi asta dintr-un unghi greșit.
Prin proiectare, nucleul Drupal (din cel puțin Drupal 5) folosește filtre de text și formate de intrare pentru a dezinfecta HTML adăugat de utilizatori în editorii WYSIWIG, cum ar fi CKEditor implicit.
Versiunile anterioare ale Drupal au fost mai permisive în această privință, dar ani de patch-uri de securitate pentru diverse exploatații de scripting între site-uri au făcut într-adevăr foarte dificilă inserarea JS inline în acest mod -- și din motive întemeiate.
Cu Drupal, nu spui doar „Am încredere că voi adăuga JS la acest articol”, ci spui „Am încredere în toți utilizatorii ale căror roluri le acordă permisiunea de a folosi acest filtru de text”. Nu mai este ușor să creezi un filtru de text nesigur. Dacă ați făcut-o, ați dori să restricționați utilizarea acestuia numai la utilizatorii de încredere cu roluri de administrator.
Pentru un drupalist cu experiență, nu este mare lucru să atașeze un activ JavaScript la o matrice de randare. Activele CSS și JS sunt gestionate în Drupal prin creare biblioteci care poate fi atașat la matricele de randare ale Drupal într-o varietate de moduri, folosind fie un modul personalizat, fie o temă personalizată, fie prin cod PHP, fie prin șabloane Twig.
(Dacă creați un site Drupal fără o temă personalizată, poate doriți să o reconsiderați. Puteți face rapid o subtemă indiferent de tema dvs. curentă, astfel încât să puteți modifica cu ușurință lucruri precum bibliotecile JS și șabloanele Twig.)
Cu toate acestea, înțeleg reticența dvs. de a învăța modul personalizat sau dezvoltarea temei doar pentru a adăuga puțin JavaScript.
Acest forum ar trebui să fie folosit pentru a răspunde la întrebări despre core Drupal, nu pentru a recomanda module de contrib. Cu toate acestea, există un modul relativ nou care s-ar putea adapta nevoilor dvs.:
Componentă
Din pagina Proiect a modulului Componentă:
Adăugarea componentelor JS pe site-ul dvs. Drupal a devenit mult mai ușoară. Doar combinați componentele dvs. JS (orice tip) cu un *.component.yml
și puneți-l în modulul sau tema dvs. Acum, componenta ta va fi disponibilă în Drupal ca bloc - automat!
Desigur, acest lucru nu este la fel de ușor ca să lipiți ceva într-un câmp WYSIWYG, dar oricum nu avea să funcționeze niciodată (din cauza securității). Va trebui totuși să începeți prin a crea un modul personalizat, o temă sau o subtemă, astfel încât să puteți adăuga componentele dvs. JS la component.yml
fişier. Dar dacă veniți dintr-o mentalitate de dezvoltator JS, această abordare vă va permite să scrieți JS-ul și să-l lipiți într-un bloc pe pagină.
Nota de securitate obligatorie:
Acest proiect nu este acoperit de politica de consiliere de securitate.
Folosiți pe propria răspundere! Este posibil să fi dezvăluit public vulnerabilități.
Dar având în vedere că întreaga ta întrebare este despre înfrângerea măsurilor de securitate încorporate ale Drupal împotriva exploit-urilor XSS, nu îmi pot imagina că acest avertisment te va descuraja!
URMARE: JavaScript inline este permis în editorul Gutenberg de la WordPress și de aceea @brown-paul recomandă utilizarea Gutenberg editor în Drupal, ceea ce ar putea fi chiar mai ușor pentru dvs. dacă veniți dintr-un fundal WordPress.