我正在使用带有Bootstrap 3的xPages,并且早些时候询问如何 formValidation.io 工作。我在Brahim Arkni的帮助下能够做到这一点,这取决于Javascript文件没有加载的事实。
我现在正在尝试使用intlTelInput并收到相同类型的消息"intlTelInput不是一个函数",所以我正在研究这是同一问题的理论。所有文件都已加载,但可能未按正确的顺序或正确的时间加载。
所以我的问题是,您什么时候会从主题文件中调用.js文件(它加载但将所有.js文件显示在一长行中,如果加载了正确的文件,则不太容易搜索以查找(使用以下语法:
<resource>
<content-type>application/x-javascript</content-type>
<href>formvalidation/dist/js/formValidation.js</href>
</resource>
或者何时加载自定义控件或 xPage 中的文件(然后在查看加载了哪些文件时,这些文件会显示在单独的行上(,使用:
<script src="build/js/intlTelInput.js"></script>
我应该补充一点,所有这些文件都在我的应用程序的 WebContent 文件夹中。
是否有一种"正确"的方法来加载Javascript文件,您如何知道加载它们的顺序?
08/15/2017: 非常感谢您的帮助。注释掉的部分是文件中的内容,上面的代码是我将其更改为的内容。 我怎么出错了,因为我仍然收到相同的错误消息,以及函数 a 的"意外令牌" 非常感谢您的帮助。注释掉的部分是文件中的内容,上面的代码是我将其更改为的内容。 我怎么出错了,因为我仍然收到相同的错误消息,以及函数 a 的"意外令牌">
! function(a){
if(typeof module && module.exports){
"object" == module.exports=a(require("jquery"), window, document;
return "object";
} else {
"function" == define(["jquery"], function(b) {
a(b, window, document)
});
return "function";
}
}
//! function(a) {
// "function" == typeof define&&define.amd? define(["jquery"], function(b) {
// a(b, window, document)
// }) : "object" == typeof module && module.exports ? module.exports = a(require("jquery"), window, document) : a(jQuery, window, document)
//}
jQuery 插件 intl-tel-input 使用 AMD,这与 XPages 中的 Dojo 冲突。有关如何禁用AMD以使插件正常工作的解决方案,请参阅此答案。
在您的情况下,您应该将intlTelInput.min的第一部分.js更改为以下内容(我将define.amd替换为false(:
!function(a){"function"==typeof define&&false?define(["jquery"],function(b){a(b,window,document)}): ...