【问题标题】:Prevent drupal from loading other module's javascript防止drupal加载其他模块的javascript
【发布时间】:2010-03-03 04:44:14
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: javascript drupal templates drupal-modules preprocessor


    【解决方案1】:

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

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

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

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

    【讨论】:

    • +1 一个很好的解决方案和合理的建议。问题的根源很可能是自定义 js。
    猜你喜欢
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多