3

我有一个drupal 页面,我使用的方式与该站点的所有其他页面非常不同。

我有一个模块可以在此页面上加载一组专门的 js。我发现我的 JS 不适用于其他模块的 js 或者可能是 drupal 核心。

如何防止其他模块在该特定页面上执行 drupal_add_js。

谢谢!

4

1 回答 1

4

drupal_add_js()除了破解这些模块代码之外,没有办法阻止其他模块调用。

对于“单页异常”,您可以实现一个myModule_preprocess_page() 函数并将其内容替换为$variables['script']您自己的脚本包含标记(您可能还需要检查$variables['closure'])。

或者,您可以为该页面实现特定版本的 page.tpl.php,然后将$scripts变量的打印替换为您自己的输出。

请注意,虽然这两种解决方法建议都可能是特殊情况下的有效解决方案,但我强烈建议检查为什么您的 JavaScript '不能很好地与其他模块的 js 一起工作'。冲突的 JavaScript 通常是一个或多个脚本中存在错误/草率代码的指标,因此您最好花时间查找和修复这些问题,而不是实施难以长期维护的变通办法。

于 2010-03-03T09:48:53.730 回答