【问题标题】:detach inline js in drupal 7在drupal 7中分离内联js
【发布时间】:2018-05-22 06:46:43
【问题描述】:

在 drupal 7 的一个模块中,一个 js 与命令内联 $element['#attached']['js']。我想问一下是否有一个“分离”命令以便在稍后阶段删除这个js。 提前致谢。

【问题讨论】:

    标签: javascript module drupal-7


    【解决方案1】:

    您可以在主题的 template.php 文件中使用hook_js_alter()。即使 javascript 文件是内联加载的,它也应该出现在钩子的 $javascript 参数中。

    在钩子的主体中,您可以使用 unset() 取消设置 javascript。像这样:

    function MYTHEME_js_alter(&$javascript) {
      if ($some_condition) {
        unset($javascript['path/to/script.js']);
      }
    }
    

    【讨论】:

    • 感谢您的帮助!如果 .js 被加载到模块中,这也应该有效?
    • 是的,应该!写在主题的 template.php 文件中的钩子最后运行是一个小技巧。例如,如果您在 Drupal 网站上的许多模块中实现了 hook_js_alter,则 template.php 中的钩子将最后运行,因此这是您可以修改 javascript 文件的最后一个地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多