You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

传统Domino Web应用中调用JS文件资源函数失败求助

在Domino Web应用中正确引用Resources里的JS文件资源

正确的路径写法(含关键参数)

Domino对Resources中的文件资源(File Resource)有特定的访问规则,你之前的写法都缺少了**?OpenFileResource**这个必要参数,正确的相对路径写法如下:

如果表单直接在数据库根目录下,使用相对路径:

<script type="text/javascript" src="msg.js?OpenFileResource"></script>

如果页面在数据库的子路径下(比如视图文件夹),可以用上级路径跳转:

<script type="text/javascript" src="../msg.js?OpenFileResource"></script>

也可以用基于数据库的绝对路径(适合跨页面引用):

<script type="text/javascript" src="/你的数据库名.nsf/msg.js?OpenFileResource"></script>

你之前的错误原因

  1. 所有尝试的路径都未添加?OpenFileResource参数:Domino需要这个参数来识别请求的是文件资源,否则会返回数据库的默认页面或404错误
  2. 错误使用了/Resources/Files/这类虚拟路径:Domino的文件资源并非存放在这个虚拟目录下,而是直接绑定到数据库实例,通过文件名+参数访问

关键检查项

  • 文件资源属性设置:打开msg.js的属性窗口,确认「存储选项」中的「Web访问」为「允许」,「文件类型」设置为「JavaScript」,避免MIME类型不匹配导致浏览器无法解析
  • 按钮运行方式:确保表单上的按钮设置为「客户端JavaScript」运行,而非服务器端代理或公式
  • 加载时机:将<script>标签放在表单的<head>区域,或者按钮元素之前,保证脚本在按钮点击前已加载完成
  • 权限验证:检查当前访问用户的数据库ACL权限,确保有读取文件资源的权限(默认ACL中普通用户有读取权限,若修改过需确认)

调试技巧

打开浏览器开发者工具(F12):

  • 「网络」标签下查看msg.js的请求状态:404=路径错误,403=权限不足,200=加载成功
  • 「控制台」中输入testRef,若返回函数定义说明脚本加载正常,若显示undefined则需排查路径或加载问题

你选择用文件资源存放新语法JS库的做法是正确的——Domino的脚本库会解析代码,对ES6+等新语法支持有限,而文件资源会原样输出内容,不会被Domino解析,适合存放现代JS库。

内容的提问来源于stack exchange,提问作者Matt Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:52:38