Answers:
如果按首页表示首页,则可以hook_preprocess_page()
在自定义模块中实现。
function mymodule_preprocess_page(&$variables) {
if ($variables['is_front']) {
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
$variables['scripts'] = drupal_get_js();
}
}
使用以下代码,$variables['is_front']
在_template_preprocess_default_variables()中设置(从template_preprocess()调用)中,相同的代码在Drupal 7上适用。
// drupal_is_front_page() might throw an exception.
try {
$variables['is_front'] = drupal_is_front_page();
}
catch (Exception $e) {
// If the database is not yet available, set default values for these
// variables.
$variables['is_front'] = FALSE;
$variables['db_is_active'] = FALSE;
}
drupal_add_js()
首先调用,然后再调用的原因drupal_get_js()
是,在之后执行的另一个模块运行以下代码的情况下,仍将添加JavaScript文件。
function quite_a_different_module_preprocess_page(&$vars) {
drupal_add_js(drupal_get_path('module', 'quite_a_different_mymodule') . '/quite_a_different_module.js');
$vars['scripts'] = drupal_get_js();
}
使用drupal_add_js()
,该文件将被添加到drupal_get_js()返回的输出中。
<script>
在HTML正文中添加一个标记。
<front>
页面上,我可以实现所需的功能。这个解决方案也很好,但不适用于我所处的情况。谢谢。