Domino Web 表单...在脚本标记中使用 javascript .js 文件资源

问题描述 投票:0回答:1

在传统的 Domino Web 应用程序中。 我在资源中添加了一个名为“msg.js”的文件资源。 它包括一个功能:

function testRef() {
  alert('this works');
}

我需要从浏览器中 Domino 表单上的按钮调用此函数。 按钮背后的代码很简单:

testRef()

问题在于如何真正包含文件资源。 我不太确定正确的语法,无论是否相对(首选)路径。 我尝试过以下方法:

<script type="text/javascript" src="/Resources/Files/msg.js"></script>
<script type="text/javascript" src="/Files/msg.js"></script>
<script type="text/javascript" src="/msg.js"></script>
<script type="text/javascript" src="msg.js"></script>

这些都不起作用。 我究竟做错了什么? 我在网上搜索了有关使用此类文件资源的教程,但尚未找到与我的场景相匹配的示例。

仅供参考,我需要这个,因为我正在使用一个开源库,该库使用比我的 Domino Designer 支持的更现代的 javascript 语法,因此它不会让我直接将其保存在脚本库中。

javascript sql resources lotus-domino
1个回答
0
投票

理想情况下,不要将 javascript 文件放在资源/文件下。这可能会导致一些问题,尽管我将在本答案的末尾描述一些解决方法。

而是在代码/脚本库下创建一个新的 javascript 库,并将 javascript 文件的内容复制到其中。

如果它是在代码/脚本库下创建的,那么您可以在表单设计中执行此操作:

  • 选择表单的“HTML Head Content”部分。
  • 在代码窗格中,右键单击,然后单击“插入资源”。
  • 选择您的 javascript 库,然后单击“确定”。

如果执行上述操作,那么 Domino 服务器在为 Web 浏览器呈现 HTML 时将生成 javascript 文件的正确路径。

有一种情况无法使用上述方法:Domino Designer 的 javascript 编辑器具有过时的验证规则,并且不接受某些较新的 javascript 语法。如果您想要或需要使用 javascript 库中不允许的 javascript 语法,那么您应该在资源/文件下添加您的 javascript。

如果您的 javascript 位于“资源/文件”下,那么您需要查看该文件的 Web 属性并将其 MIME 类型设置为“text/javascript”。如果您不设置 MIME 类型,许多浏览器将无法加载它。

正确设置 MIME 类型后,在 Web 浏览器中打开表单(即 URL 包含类似“FormName?OpenForm”的内容)时,此

script
标记应该起作用:
<script type="text/javascript" src="msg.js"></script>

打开使用表单创建的文档时,上面的

script
标签不会起作用。在文档中,您需要以下相对标签:
<script type="text/javascript" src="../msg.js"></script>
...或者带有绝对 URL 的标记,其中包含相对于 Domino 服务器数据目录的数据库路径。

您不能在 URL 中使用“/Resources/Files”来指向数据库中资源/文件下显示的文件。 “资源”或“文件”都不作为服务器上的实际目录存在。它们只是 Domino Designer UI 中的类别。

© www.soinside.com 2019 - 2024. All rights reserved.