XPage 和加载 JavaScript 个文件

XPages and Loading JavaScript Files

我将 xPages 与 Bootstrap 3 一起使用,并且早些时候询问了如何让 formValidation.io 工作。在 Brahim Arkni 的帮助下,我能够做到这一点,这取决于未加载 Javascript 文件这一事实。

我现在正在尝试使用 intlTelInput 并接收相同类型的消息 "intlTelInput is not a function" 所以我正在研究这是同一个问题的理论。所有文件都已加载,但顺序或时间可能不正确。

所以我的问题是,你什么时候从你的主题文件中调用一个 .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 文件夹中。

有没有 'right' 方法来加载 Javascript 文件,你怎么知道加载它们的顺序?

2017 年 8 月 15 日: 非常感谢 Per 的帮助。注释掉的部分是文件中的内容,上面的代码是我将其更改为的内容。我怎么出错了,因为我仍然收到相同的错误消息,以及函数 a 的 "unexpected token" 非常感谢 Per 的帮助。注释掉的部分是文件中的内容,上面的代码是我将其更改为的内容。我怎么出错了,因为我仍然收到相同的错误消息,以及函数 a

的 "unexpected token"
! 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)}): ...