我有一个drupal页面,我使用的方式与网站的所有其他页面完全不同。
我有一个模块在这个页面上加载一组专门的js。我发现我的JS与其他模块或者drupal核心的js不兼容。
如何阻止其他模块在该特定页面上执行drupal_add_js。
谢谢!
答案 0 :(得分:4)
除了攻击那些模块代码外,没有办法阻止其他模块调用drupal_add_js()
。
对于“单页异常”,您可以实现myModule_preprocess_page()
函数并使用您自己的脚本包含标记替换$variables['script']
的内容(您可能还需要检查$variables['closure']
)。
或者,您可以为该页面实现特定版本的page.tpl.php,只需用您自己的输出替换$scripts
变量的打印。
请注意,虽然两种解决方法建议都可能是针对特殊情况的有效解决方案,但我强烈建议您检查为什么您的JavaScript 与其他模块的js不兼容”。冲突的JavaScript通常是一个或多个脚本中的错误/草率代码的指示器,因此您可以更好地花时间查找和修复这些代码,而不是实施长期难以维护的变通方法。