将Coldfusion标签更改为利用CDN托管的JavaScript库

3

我被分配支持一个Coldfusion应用程序,发现CF正在向某些页面添加脚本标签。这些js文件似乎是支持某些CF标记的,因为我在任何.cfm文件(或后续的包含文件)中找不到对.js文件的引用。.js文件是流行的库,可以通过CDN访问而不是从我们的Web服务器提供它们。所以我的问题是:

CF标记或Coldfusion设置是否可以更改以更新.js URL?


是脚本标签还是cfscript标签? - Dan Sorensen
2个回答

4
使用 scriptsrc 和 cssSrc 属性
如果 JavaScript 文件不在默认位置,则 scriptsrc 属性非常有用。在某些托管环境和配置中,会阻止访问 /CFIDE 目录,因此需要使用此属性。
默认的 scriptsrc 值由 ColdFusion 管理员页面上的“服务器设置 > 设置”页中的默认 CFFORM ScriptSrc Directory 设置确定。对于 cfform 标签,tag 的 scriptsrc 属性优先于此属性。
只有当 cfajaximport 标签位于顶级页面时,即客户端直接请求的页面上,才能使用此属性。例如,在指定为 cfwindow 标签源属性的页面上,无法使用它。
当您使用带有 scriptsrc 属性的 cfajaximport 标签时,指定的目录必须具有与/CFIDE/scripts 目录相同的结构。例如,如果您指定 scriptsrc="/resources/myScripts",则 AJAX 使用的 JavaScript 文件必须位于 /resources/myScripts/ajax 目录中。
此属性指定包含当前页面上所有后续标记所需的 ColdFusion 客户端文件的文件夹,而不仅仅是基于 AJAX 的标记。因此,目录树必须包括这些标记使用的所有 ColdFusion 客户端文件。例如,如果页面上的 cfform 标记以 Flash 或 applet 格式存在,请在 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">

reference: Adobe ColdFusion 9 * cfajaximport


1

CF应该包含的唯一.js文件是用于像cfform或cf ajax等事物的,它们将指向内部的CF特定.js文件。我知道基础cfajax使用ExtJs,但我想象它是一个定制版本,因此指向外部主机可能会导致其崩溃。

当您提到“流行库”时,我不确定您引用的是什么。您能详细说明吗?我怀疑您可以用外部公共库替换任何内部CF.js库,并使您的CF代码仍然正常工作。

Henry指出了cfajaximport标记的使用,但根据文档,它仅适用于本地.js文件:

“指定相对于Web根目录的URL,其中包含ColdFusion使用的客户端脚本文件的目录。”

尽管如此,看到有效的URL是否起作用将是有趣的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接