在gatein-resources.xml中作为portlet依赖项给出的远程JS文件不起作用

时间:2014-12-04 09:22:42

标签: javascript google-maps portlet gatein

我想在名为Banner

的portlet中使用http://maps.google.com/maps/api/js

在gatein-resources.xml中我已将其声明为名为googlemap的shaired资源,并将googlemap添加为Banner portlet的依赖项

<scripts>
    <name>googlemap</name>
    <url>http://maps.google.com/maps/api/js</url>
</scripts> 



<portlet>
    <name>
        Banner
     </name>
    <scripts>
        <depends>
            <scripts>googlemap</scripts>
        </depends>
    </scripts>
</portlet> 

但是没有显示加载Banner portlet地图。

如果我在Banner portlet中使用的星号标记中声明http://maps.google.com/maps/api/js文件,则会显示谷歌地图。

任何人都可以解释为什么googlemap js在gatein-resources.xml中声明它时没有加载。
所有其他脚本都驻留在本地系统中,在门控资源中声明的工作正常。

1 个答案:

答案 0 :(得分:0)

首先,模块声明中可能存在错误,因为模块声明不适合 gatrein-resources xsd schmea声明。它应该类似于以下内容:

<portlet>
  <name>Banner</name>
  <module>
    <depends>
      <module>googlemap</module>
    </depends>
  </module>
</portlet>

<module>
  <name>googlemap</name>
  <script>
    <path>/path/to/your/js/file.js</path>
  </script>
</module>

同时您应该知道GateIn的AMD(Asynchrounous模块防御)引擎不支持内容删除网络(CDN)文件,您必须提供引用本地文件的路径在您的webapp存档下,而不是远程存档。

据我所知,GateIn人员计划在即将发布的版本中支持CDN路径文件。