javascript - Drupal中如何获取压缩文件名?

标签 javascript php drupal drupal-7

在Drupal中压缩JS文件后,我得到了一个随机的JS文件名。

我的问题是如何获取此文件名并将其添加到我的 JavaScript 中?

Drupal 代码:导入并压缩

<?php drupal_add_js(drupal_get_path('theme', 'mytheme') . 'mybigfile.js'); ?>

随机文件名结果:

js_2KQpJNjjupC1Beoweoqpok2JCXhe0sJ6YBllaRDUXYQ.js

尝试调用 mybigfile.js 文件:

<script>
telInput.intlTelInput({
      validationScript: "mybigfile.js"
    });
</script>

最佳答案

据我所知,您无法获取Drupal使用PHP生成的串联JavaScript文件的名称。

最好的选择是避免 JavaScript 文件 mybigfile.js 被连接和压缩。然后您可以通过调用文件名来应用验证脚本。

您必须将 drupal_add_js 内的 preprocess 属性设置为 false $options 数组,以防止文件被聚合。

drupal_add_js(drupal_get_path('theme', 'mytheme') . '/mybigfile.js', array(
    'type'      => 'file',
    'preprocess'=> false,
));
<小时/>

更新

如果您想压缩单个 JavaScript 文件,您可以选择使用 AdvAgg API。

不幸的是,我找不到任何有关如何执行此操作的文档。但您可以从以下内容开始:

  1. 下载并安装 advagg 并启用子模块 advagg_js_compress

  2. advagg_js_compress 子模块文件夹中,找到文件 advagg_js_compress.advagg.inc 并在文本编辑器中打开。在这里您可以找到一些帮助您压缩 JavaScript 文件的辅助函数。

关于javascript - Drupal中如何获取压缩文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24713701/

相关文章:

javascript - forEach 返回未定义 - 如何改为返回数组?

javascript - 如果 JQuery UI 布局没有显示任何内容,则隐藏北面板

javascript - parseInt(18446744073709551616) 在 javascript 中返回 18446744073709552000

php - PDO 更新查询既不成功也不显示任何错误

mysql - 在 github.io 中运行 drupal 站点

javascript - 如何从 C# 字典返回对象创建列表

php - 多个 curl 请求,何时关闭句柄?

javascript - 将csv文件上传到mysql数据库sql语法错误

drupal - Ubercart 和 Drupal 7 - hook_add_to_cart

css - 当 float 图像超过特定宽度时,如何使用 CSS 向下移动文本?