Drupal/Drupal加载JS方法

来自站长百科
跳转至: 导航、​ 搜索

模板:Drupal top 在开发drupal模块的时候,会遇到添加js问题,这是可能会用到drupal_add_js 这个函数。

Drupal不同版本对应的使用方法[ ]

  • 4.7
drupal_add_js($file, $nocache = FALSE)
  • 5
drupal_add_js($data = NULL, $type = 'module', $scope = 'header', $defer = FALSE, $cache = TRUE)
  • 6
drupal_add_js($data = NULL, $type = 'module', $scope = 'header', $defer = FALSE, $cache = TRUE, $preprocess = TRUE)
  • 7
drupal_add_js($data = NULL, $options = NULL)

Drupal加载JS方法[ ]

在drupal6下使用:

方法1,drupal_add_js('var showtime='.variable_get('showtime',1000)., 'inline'); 用了直接加入inline在page html里,如果打开html源代码就可以到输出结果:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
var showtime=2000
//--><!]]>
</script>

方法2,

<?php
drupal_add_js

(drupal_get_path('module', 'note') .'/note.js');
?>

这个输出的结果形式:

<script type="text/javascript" src="/sites/all/modules/note/note.js?"></script>

方法3.

还有的就是经常如果开发API可能会使用外部的js文件,最简单的方式可以这样处理:

使用函数:drupal_set_html_head();

代码:

<?php
drupal_set_html_head('<script type="text/javascript" src="http://ditu.google.cn/maps?file=api&v=2&key=abc" type="text/javascript" /></script>');
?>

这里我是调用了一个google的api key

输入结果表现形式:

<script type="text/javascript" src="http://ditu.google.cn/maps?file=api&v=2&key=abc" type="text/javascript" /></script>

可以在drupal加载的时候写入js

<?php
function yourmodulename_init() {//当模块初始化的时候加载
drupal_set_html_head('<script type="text/javascript" src="http://ditu.google.cn/maps?file=api&v=2&key=abc" type="text/javascript" /></script>');
drupal_add_js(drupal_get_path('module', 'note') .'/note.js');
}

?>

参考来源[ ]

http://hellodrupal.info/node/73

模板:Drupal