防止drupal加载其他模块的javascript

时间:2010-03-03 04:44:15

标签: javascript drupal templates drupal-modules preprocessor

我有一个drupal页面,我使用的方式与网站的所有其他页面完全不同。

我有一个模块在这个页面上加载一组专门的js。我发现我的JS与其他模块或者drupal核心的js不兼容。

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

谢谢!

1 个答案:

答案 0 :(得分:4)

除了攻击那些模块代码外,没有办法阻止其他模块调用drupal_add_js()

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

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

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