drupal 7 add_js重量

时间:2011-11-30 18:09:56

标签: jquery drupal drupal-7

我有一个模块,在其中我添加了带

的js
if($_GET['q'] == 'workpage') {
drupal_add_js(drupal_get_path('module', 'sb_carousel').'/js/slide.js');
}

问题是它将它添加到.info文件中定义的jqueru之上。我看到有一个'权重'属性如何让我的js在js文件的底部?

1 个答案:

答案 0 :(得分:5)

您可以通过将$options数组传递到drupal_add_js()

来设置权重
$file = drupal_get_path('module', 'sb_carousel').'/js/slide.js';
$options = array(
  'weight' => 1000, // High number to push this file to the bottom of the list
  'scope' => 'footer' // This will output the JS file in the footer scope, so at the end of the document
);

drupal_add_js($file, $options);

使用weightscope,您应该能够确保您的JS文件是HTML中最后输出的文件。

<强>更新

只是想一想,你提到你的jQuery文件是从.info文件加载的...没有必要这样做,默认情况下已经在Drupal中添加了jQuery。您可以使用jQuery Update module升级到jQuery 1.5,但目前没有(官方)支持任何更高版本。

如果您正在加载第二个jQuery文件,那么首先可能是导致问题的原因,除非您正确使用jQuery.noConflict(),否则您可能仍会遇到问题。