我有一个模块,在其中我添加了带
的jsif($_GET['q'] == 'workpage') {
drupal_add_js(drupal_get_path('module', 'sb_carousel').'/js/slide.js');
}
问题是它将它添加到.info文件中定义的jqueru之上。我看到有一个'权重'属性如何让我的js在js文件的底部?
答案 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);
使用weight
和scope
,您应该能够确保您的JS文件是HTML中最后输出的文件。
<强>更新强>
只是想一想,你提到你的jQuery文件是从.info
文件加载的...没有必要这样做,默认情况下已经在Drupal中添加了jQuery。您可以使用jQuery Update module升级到jQuery 1.5,但目前没有(官方)支持任何更高版本。
如果您正在加载第二个jQuery文件,那么首先可能是导致问题的原因,除非您正确使用jQuery.noConflict()
,否则您可能仍会遇到问题。