1

我需要一些帮助来理解 Liferay 7 主题,特别是使用 jQuery 插件。因为我在这个线程中遇到了同样的问题:https ://web.liferay.com/community/forums/-/message_boards/view_message/79089004

每当我调用我尝试安装的插件函数时,都会出现“不是函数”。我正在为此尝试所有可能的展示位置:

<script type="text/javascript" src="${javascript_folder}/mCustomScrollbar.js"></script>

当我检查页面时,我可以在那里看到 jQuery 对象,但似乎插件没有粘住..

$(".content").mCustomScrollbar();

只是不行,我不知道为什么..

4

1 回答 1

1

来自Liferay 论坛的交叉发帖

这不是最干净的解决方案,但如果您只是想继续将模块加载为全局变量,您可以执行以下操作:

<script>
    define._amd = define.amd;
    define.amd = false;
</script>

<script type="text/javascript" src="${javascript_folder}/mCustomScrollbar.js"></script>

<script>
    define.amd = define._amd;
</script>

在加载 umd 包装的插件之前将 amd 标志设置为 false 应该可以解决问题,并且它们应该保持加载不变。

此外,如果您正在托管文件,您实际上可以将&&define.amd替换为&&false或插件 umd 定义中的类似内容,以确保它也将作为全局文件加载。

让我知道这是否适合你!

于 2016-09-15T15:36:26.597 回答