2010-01-12 16 views
3

我已经递交了一个Coldfusion应用程序来支持,并且我注意到CF正在向某些页面添加脚本标记。看起来这些js文件支持某些CF标签,因为我无法在.cfm文件(或任何后续包含文件)中找到任何对.js文件的引用。 .js文件是流行的库,可以通过CDN访问,而不是从我们的Web服务器提供。所以我的问题是:更改Coldfusion标签以利用CDN托管的JavaScript库

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

+0

它是一个脚本标记或标签CFSCRIPT? – 2010-01-13 16:51:31

回答

1

CF应包含的唯一.js文件适用于cfform或cf ajax等东西,它们将指向内部CF特定的.js文件。我知道基础cfajax的东西使用ExtJs,但我会想象它是它的一个自定义版本,所以指向外部主机可能会导致它无法继续。

当你提到“流行库”时,我不确定你在引用什么。你能详细说明一下吗?我怀疑你可以用外部公共库替换任何内部CF.js库,并让你的CF代码仍然有效。

亨利指出使用cfajaximport标签的,但根据文档,这只是局部的.js文件:

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

虽然看到一个有效的url是否有效会很有趣。

+0

刚刚经过测试,是的,看起来像会起作用。 :) – Henry 2010-01-13 01:20:03

4

使用scriptsrc和cssSrc属性

如果 JavaScript文件不在 默认位置scriptsrc属性是非常有用的。此属性是 在某些托管环境中需要 以及阻止对/ CFIDE目录访问 的配置。

默认scriptsrc值是 由默认CFFORM ScriptSrc目录上 服务器设置设置决定>的 ColdFusion管理员的设置页面。对于cfform 标签,标签的scriptsrc属性 优先于此属性。

只有当 cfajaximport标签位于顶级 页面上时,才能使用此属性;也就是客户端 直接请求的页面。例如,在cfwindow标签源 属性中指定的 的页面上,您无法使用它。

当您使用 的cfajaximport标签的scriptsrc属性,指定 目录必须具有相同的结构 为/ CFIDE/scripts目录。例如,如果您指定 scriptsrc =“/ resources/myScripts”,则AJAX使用的JavaScript文件在/ resources/myScripts/ajax 目录中必须为 。 例如,如果指定 scriptsrc =“/ resources/myScripts”

该属性指定包含ColdFusion的 客户端文件的所有后续 标签当前页面上,不只是 基于AJAX的标签的文件夹 。因此, 目录树必须包含所有 ColdFusion客户端文件使用的 这些标签。例如,如果页面上的cfform 标记为Flash或小应用程序 格式,请在由scriptsrc 属性指定的 目录中包含 CF_RunActiveContent.js文件。

您使用cssSrc属性指定 指定ColdFusion AJAX功能所需的CSS文件 的位置。 此属性将覆盖当前页面 的 scriptsrc/ajax/resources目录。因此,如果所有使用自定义脚本目录的 页面也使用自定义cssSrc 目录,则不必在 scriptsrc目录树中包含 ColdFusion AJAX CSS文件。

例子:

<cfajaximport cssSrc="/collegeApp/application/cssFiles" 
    scriptsrc="/collegeApp/ajaxScripts" 
    tags="cftooltip, cfwindow"> 

参考:Adobe ColdFusion 9 * cfajaximport