添加外部JavaScript


20

是否可以将外部JavaScript直接添加到主题的.info文件中?
例如scripts [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js


您是否只是想将CDN版本的jQuery Tools添加到您的主题中,还是您明确询问是否可以从主题的.info文件中完成?
mpdonadio

明确地将外部javascript添加到.info文件
JurgenR 2012年

因此,您想将其添加到.info文件中,并且您接受了一个根本不涉及.info文件的答案,并显示了drupal_add_js方法?
mpdonadio

是的,如果它在信息文件中不起作用,我很高兴能找到最好的解决方案。
JurgenR 2012年

Answers:


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中时,它会出现JavaScript错误。
JurgenR 2012年

什么错 如果您检查源代码,Drupal在使用此功能时是否输出正确外观的脚本标记?
drmonkeyninja 2012年

添加options数组可以修复它。猜猜这是体重的问题。drupal_add_js(' cdn.jquerytools.org/1.2.6/jquery.tools.min.js',array('type'=>'external','scope'=>'header','weight'=> 10)) ; 谢谢!
JurgenR 2012年

@Jurgen drupal_add_js()也接受字符串作为第二个参数;在这种情况下,它被视为$options数组中使用的“类型”索引。如果需要设置其他选项,则必须使用数组。
kiamlaluno

@drmonkeyninja如何在任何模块中添加JS。
Nishant 2014年

2

添加javascript的方法取决于要添加javascript的对象。有多种添加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
batigolix 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.