【发布时间】:2015-05-27 11:46:11
【问题描述】:
我正在尝试在 XPages 中加载一个 javascript 库。
通常在 HTML 中,参考如下所示:
<html>
<head>
<script src="https://hammerjs.github.io/dist/hammer.js"></script>
</head>
<body>
</body>
</html>
这给了我一个 DOM 中的 Hammer 对象,我可以进一步使用它。
在 XPages 中我做了以下设置:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" disableTheme="true"
dojoForm="false" dojoTheme="false" dojoParseOnLoad="false"
createForm="false">
<xp:this.resources>
<xp:script src="https://hammerjs.github.io/dist/hammer.js"
clientSide="true">
</xp:script>
</xp:this.resources>
</xp:view>
或者:
<?xml version="1.0" encoding="UTF-8" ?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" disableTheme="true" dojoForm="false" dojoTheme="false" dojoParseOnLoad="false" createForm="false">
<xp:this.resources>
<xp:headTag tagName="script">
<xp:this.attributes>
<xp:parameter name="script" value="text/javascript" />
<xp:parameter name="src" value="https://hammerjs.github.io/dist/hammer.js" />
</xp:this.attributes>
</xp:headTag>
</xp:this.resources>
</xp:view>
但是 Hammer 对象在 DOM 中不存在!
我做错了什么?
【问题讨论】:
-
首先看看你在做什么只是加载库。然后你需要脚本来调用它。
-
确实我下面的回答是不正确的。我将删除,即使没有在脚本中调用它,您仍然应该能够在浏览器控制台中手动调用它。
-
hammer.js 使用 AMD,因此与 Dojo 冲突。请参阅有关如何从hammer.js 中删除AMD 加载的答案:stackoverflow.com/a/24324497/785061
标签: xpages