【发布时间】:2010-08-16 03:22:27
【问题描述】:
我创建了这个简单的脚本来检查是否加载了 jQuery
<cfoutput>
<cfif GetPageContext().getCFOutput().getBuffer().findStringNoCase("jquery.js") eq -1>
<script type="text/javascript" src="jquery.js"></script>
</cfif>
<script>
$(document).ready( function() {
$("##theValue").val("the replacement");
});
</script>
<input type="Text" name="theValue" id="theValue" value="the value">
</cfoutput>
整个页面被cfoutput包围
有没有更好的办法?
【问题讨论】:
-
你想完成什么?您没有检查是否加载了 jQuery。您正在检查缓冲区中任何位置是否存在字符串“jquery.js”。在服务器上。在页面 - 在您的控制之下 - 被传递到浏览器之前。这没有任何意义。
-
@Ken :是的,我知道,我对这个答案很感兴趣 stackoverflow.com/questions/1331982/… 检查输出何时仍在缓冲区中
-
我认为您尝试的任何事情都不可靠,原因有很多——其中许多在您链接的问题的其他答案中都有概述。事实上,公认的答案是检查
typeof jQuery的客户端解决方案。这是确定是否加载了 jQuery 的唯一方法。另外,用cfoutput包裹整个页面是很痛苦的。每个 ##cssID 或颜色 (##ffffff) 都必须双打。哎哟。我会努力寻找更好的解决方案。 -
实际上我发现整个页面 cfoutput 非常实用,因为通常我在一个页面中有 10 到 100 个变量,并且单独包装每一次使用比记住双磅要困难得多,特别是如果你无论如何都应该在外部分离您的 CSS/JS 文件。
-
我同意 Ken Redler - 只需使用这种方法 - coldfusioning.com/index.cfm/2010/7/9/… 即
标签: jquery coldfusion