เพิ่มจาวาสคริปต์ภายนอก


20

เป็นไปได้หรือไม่ที่จะเพิ่มจาวาสคริปต์ภายนอกลงในไฟล์. info ของธีมโดยตรง
เช่นสคริปต์ [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js


คุณเพียงแค่ต้องการเพิ่ม jQuery Tools เวอร์ชัน CDN ให้กับธีมของคุณหรือคุณกำลังถามอย่างชัดเจนว่าสามารถทำได้จากไฟล์. info ของธีมหรือไม่
mpdonadio

เป็นที่ชัดเจนว่าจะเพิ่มจาวาสคริปต์ภายนอกไปยังไฟล์. info
JurgenR

ดังนั้นคุณต้องการที่จะเพิ่มลงในไฟล์. info และคุณยอมรับคำตอบที่ไม่ได้พูดถึงไฟล์. info เลยและแสดงวิธีการ drupal_add_js?
mpdonadio

ใช่ถ้ามันไม่ทำงานในไฟล์ข้อมูลฉันดีใจที่ได้วิธีที่ดีที่สุด
JurgenR

คำตอบ:


24

ในไฟล์ template.php ของชุดรูปแบบของคุณใช้drupal_add_js ()กับวิธีการประมวลผลหน้าล่วงหน้า (หรือกระบวนการที่เทียบเท่าล่วงหน้า)

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}

ฉันพบข้อผิดพลาดจาวาสคริปต์เมื่อใช้งานฟังก์ชั่นนี้เมื่อฉันวางสคริปต์ไว้ในส่วนท้าย (ส่วนท้าย) html.tpl.php มันทำงานได้
JurgenR

ข้อผิดพลาดอะไร Drupal ส่งออกมาร์กอัปสคริปต์ค้นหาที่ถูกต้องเมื่อใช้ฟังก์ชันนี้หรือไม่ถ้าคุณตรวจสอบซอร์สโค้ด
drmonkeyninja

การเพิ่มอาร์เรย์ตัวเลือกแก้ไขมัน คิดว่ามันเป็นปัญหากับน้ำหนัก drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', อาร์เรย์ ('type' => 'ภายนอก', 'ขอบเขต' => 'ส่วนหัว', 'น้ำหนัก' => 10)) ; ขอบคุณ!
JurgenR

@ Jurgen drupal_add_js()ยังยอมรับสตริงเป็นพารามิเตอร์ตัวที่สอง ในกรณีนั้นจะถือเป็นดัชนี "ประเภท" ที่ใช้จาก$optionsอาร์เรย์ หากคุณต้องการตั้งค่าตัวเลือกอื่นคุณต้องใช้อาร์เรย์
kiamlaluno

@drmonkeyninja วิธีเพิ่ม JS ในโมดูลใด ๆ .. ??
Nishant

2

วิธีการเพิ่มจาวาสคริปต์นั้นขึ้นอยู่กับสิ่งที่คุณกำลังเพิ่มจาวาสคริปต์ มีหลายวิธีในการเพิ่ม js

  • โดยกำหนดในไฟล์ theme.info

  • เพิ่มแบบอินไลน์

  • การเพิ่มไฟล์ js ภายนอก

คุณสามารถเพิ่มไฟล์ข้อมูล js ด้วยรหัสบรรทัดง่าย ๆ นี้

scripts[] = js/myscript.js

หรือคุณสามารถใช้ฟังก์ชั่น php โดย drupal drupal_add_js

ฟังก์ชั่นนี้ช่วยให้คุณเพิ่มไฟล์ JavaScript หรือช่วยในการตั้งค่าโค้ดอินไลน์ไปยังหน้าใด ๆ ในธีมของคุณและใช้พารามิเตอร์ 5 ตัว ( คุณเห็นในการอ้างอิง API )

มีการโพสต์รายละเอียดเกี่ยวกับสิ่งนี้ที่นี่


2
คุณไม่สามารถกำหนด JS ภายนอกในไฟล์ข้อมูล drupal.stackexchange.com/a/196874/12010 Apparantly
batigolix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.