Domino服务器XPages中Bootstrap 4与jQuery加载顺序异常排查
XPages Bootstrap4应用加载异常的可能原因分析
核心差异对比
正常服务器加载的JS资源:
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/bootstrap4/jquery/jquery.min.js"></script> <script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/bootstrap4/js/bootstrap.bundle.min.js"></script>
异常服务器加载的JS资源:
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/bootstrap4/js/bootstrap.min.js"></script> <script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/jquery/jquery.min.js"></script> <script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/xpages/js/xspBootstrap4.js"></script>
关键异常点:Bootstrap先于jQuery加载、加载非bundle版Bootstrap、出现本地插件中不存在的xspBootstrap4.js。
可能原因
1. 扩展库(ExtLib)版本不一致
异常服务器的ExtLib版本与正常服务器存在差异:
xspBootstrap4.js是特定版本ExtLib中新增的XPages与Bootstrap桥接文件,不同版本的ExtLib会修改资源加载逻辑;- 非bundle版的
bootstrap.min.js不含内置Popper组件,而正常服务器加载的bootstrap.bundle.min.js包含该组件,说明ExtLib的资源映射配置不同; - 即使Domino服务器升级到12.0.2FP1,ExtLib作为独立组件可能未同步升级,或托管方安装了自定义修改版的ExtLib。
2. 服务器级XSP配置参数覆盖
托管服务器的全局xsp.properties(路径为IBM_Domino/data/domino/html/xsp)可能存在配置异常:
xsp.resources.responsive.bootstrap.version被设置为非默认值,导致加载不同的Bootstrap资源包;xsp.resources.order参数被修改,全局颠倒了jQuery与Bootstrap的加载顺序;xsp.library.depends或xsp.library.version指定了错误的ExtLib库版本,导致资源加载路径和逻辑异常。
3. 全局主题强制覆盖
托管服务器可能配置了全局默认主题,该主题强制加载非bundle版Bootstrap和xspBootstrap4.js,并修改了资源加载顺序。应用级的主题设置被全局主题覆盖,导致自定义主题的资源配置失效。
4. 服务器资源缓存或类加载异常
服务器可能缓存了旧的ExtLib资源文件,即使升级Domino版本,缓存的xspBootstrap4.js等资源仍被加载,导致加载逻辑异常。这种情况需要清理服务器的XSP资源缓存,但无服务器权限无法操作。
Domino中影响加载顺序的关键参数
直接关联的服务器级/应用级参数包括:
xsp.resources.responsive.bootstrap.version:指定Bootstrap版本,决定加载的资源包类型;xsp.resources.order:全局控制JS/CSS资源的加载顺序;xsp.resources.responsive.load.bootstrap:控制是否自动加载Bootstrap资源;xsp.library.depends:指定依赖的库,错误配置会影响资源加载依赖顺序。
建议操作(需托管方配合)
- 对比正常服务器与异常服务器的ExtLib版本,确保使用官方一致版本;
- 检查服务器级
xsp.properties的上述关键参数,恢复为默认值或与正常服务器一致; - 检查服务器全局主题设置,确认未强制覆盖应用主题的资源加载逻辑;
- 清理Domino服务器的XSP资源缓存(重启服务器或清理
IBM_Domino/data/domino/workspace目录)。
内容的提问来源于stack exchange,提问作者Thomas Adrian
相关产品推荐
相关产品推荐

