我得到了一个 Coldfusion 应用程序的支持,我注意到 CF 正在向某些页面添加脚本标签。这些 js 文件似乎支持某些 CF 标记,因为我在 .cfm 文件(或任何后续包含文件)中找不到对 .js 文件的任何引用。.js 文件是流行的库,可以通过 CDN 访问,而不是从我们的 Web 服务器提供它们。所以我的问题是:
可以更改 CF 标记或 Coldfusion 设置以更新 .js 网址吗?
我得到了一个 Coldfusion 应用程序的支持,我注意到 CF 正在向某些页面添加脚本标签。这些 js 文件似乎支持某些 CF 标记,因为我在 .cfm 文件(或任何后续包含文件)中找不到对 .js 文件的任何引用。.js 文件是流行的库,可以通过 CDN 访问,而不是从我们的 Web 服务器提供它们。所以我的问题是:
可以更改 CF 标记或 Coldfusion 设置以更新 .js 网址吗?
使用 scriptsrc 和 cssSrc 属性
如果 JavaScript 文件不在默认位置,则 scriptsrc 属性很有用。在某些阻止访问 /CFIDE 目录的托管环境和配置中,此属性是必需的。
默认的 scriptsrc 值由 ColdFusion 管理员的服务器设置 > 设置页面上的默认 CFFORM ScriptSrc 目录设置确定。对于 cfform 标签,标签的 scriptsrc 属性优先于该属性。
仅当 cfajaximport 标记位于顶级页面上时,您才能使用此属性;即客户端直接请求的页面。例如,您不能在 cfwindow 标记源属性中指定的页面上使用它。
当您使用带有 scriptsrc 属性的 cfajaximport 标记时,指定的目录必须与 /CFIDE/scripts 目录具有相同的结构。例如,如果您指定 scriptsrc="/resources/myScripts",则 AJAX 使用的 JavaScript 文件必须位于 /resources/myScripts/ajax 目录中。
此属性指定包含当前页面上所有后续标签的 ColdFusion 客户端文件的文件夹,而不仅仅是基于 AJAX 的标签。因此,目录树必须包含这些标签使用的所有 ColdFusion 客户端文件。例如,如果页面上的 cfform 标记是 Flash 或小程序格式,则在 scriptsrc 属性指定的目录中包含 CF_RunActiveContent.js 文件。
您使用 cssSrc 属性来指定 ColdFusion AJAX 功能所需的 CSS 文件的位置。此属性覆盖当前页面的 scriptsrc/ajax/resources 目录。因此,如果所有使用自定义 scriptsrc 目录的页面也使用自定义 cssSrc 目录,则您不必在 scriptsrc 目录树中包含 ColdFusion AJAX CSS 文件。
例子:
<cfajaximport cssSrc="/collegeApp/application/cssFiles"
scriptsrc="/collegeApp/ajaxScripts"
tags="cftooltip, cfwindow">
CF 应该包含的唯一 .js 文件是用于 cfform 或 cf ajax 之类的东西,它们将指向内部的、特定于 CF 的 .js 文件。我知道底层的 cfajax 东西使用 ExtJs,但我想它是它的定制版本,所以指向外部主机可能会导致它无论如何都会中断。
当您提到“流行库”时,我不确定您指的是什么。你能详细说明一下吗?我怀疑您是否可以用外部公共库替换任何内部 CF .js 库,并且您的 CF 代码仍然可以工作。
Henry 指出了 cfajaximport 标签的使用,但根据文档,它仅适用于本地 .js 文件:
“指定包含 ColdFusion 使用的客户端脚本文件的目录的 URL,相对于 Web 根目录。”
虽然,看看一个有效的 url 是否可以工作会很有趣。