首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Liferay中插入JavaScript资源

在Liferay中插入JavaScript资源
EN

Stack Overflow用户
提问于 2013-12-09 09:29:59
回答 2查看 2.1K关注 0票数 1

我希望在我的Liferay中使用jsTree,但是每次执行脚本时,我都会得到一个错误:

TypeError: treeContainer.jstree不是一个函数@localhost:8080/web/来宾/home:14

我知道它没有JS文件可供使用,所以我尝试了这两种方法,但是它们都很有效。

First:通过添加

代码语言:javascript
复制
<script type="text/javascript" src="jquery.jstree.js"></script>

进入JSP。虽然我可以看到它在我的IDE中被“链接”,但是在构建和部署之后它是不可用的(duh)。

第二个:liferay-portlet.xml中编辑它,如下所示:

代码语言:javascript
复制
<portlet>
    <portlet-name>myPortlet</portlet-name>
    <instanceable>false</instanceable>
    <!-- other mappings here -->
    <header-portlet-javascript>my/resource/folder/myPortlet/jquery.jstree.js
    </header-portlet-javascript>
</portlet>

但是即使我像这样编辑它,我也能在浏览器控制台中得到404。

JSP中使用的函数:

代码语言:javascript
复制
<script type="text/javascript">
$(".tree-search").click(function(){

    treeContainer = $(this).siblings('.tree-container');

    // correct data is taken from ${jsonFake}
    treeContainer.jstree({
        "plugins":["themes","html_data","ui"], "json_data": { data: ${jsonFake}}
    });

    treeContainer.show();
    treeContainer.animate({
        opacity: "1"
    }, 750);

});
</script>

我做错什么了,拜托?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-09 13:18:33

这似乎是路径问题:

在docroot中创建一个名为js的文件夹,并将该文件放在其中。添加脚本src,如:

代码语言:javascript
复制
<script type='text/javascript' src='/js/jquery.jstree.js'></script>
票数 1
EN

Stack Overflow用户

发布于 2013-12-09 11:31:59

在当前主题的portal_normal.vm文件中添加js文件

代码语言:javascript
复制
<script type="text/javascript" src="jquery.jstree.js"></script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20467237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档