我们最近刚刚将测试服务器从CF10升级到CF16。其中一个问题是cookies。我尝试登录屏幕Cookies Are Not Enabled!
后显示的系统消息后。我检查了代码,cfif
检查是否未定义Cookie.test
。以下是我的代码示例:
<cfif NOT IsDefined("Cookie.test")>
Cookies Are Not Enabled!
<cfabort>
</cfif>
这是我发现cookie.test:
的代码行<cfcookie name="test">
这是在页面的最底部,isDefined()
位于最顶层。所以我想知道如何在ColdFusion 2016中检查这个问题?谢谢。
答案 0 :(得分:2)
您可以使用isBoolean(URLSessionFormat("true"))
检查Cookie是否已启用。
<cfif isBoolean(URLSessionFormat("true"))>
cookies are enabled
<cfelse>
cookies are not enabled
</cfif>
另外,我已经创建了一个UDF
https://cflib.org/udf/isCookiesEnabled
/**
* Returns true if browser cookies are enabled.
*
* @return Returns a boolean.
* @author Alex Baban
*
*/
function isCookiesEnabled() {
return IsBoolean(URLSessionFormat("True"));
}
<cfoutput>#isCookiesEnabled()#</cfoutput>
现场演示:
<cfset result = IsBoolean(URLSessionFormat("True")) />
<cfdump var = "#result#" />
https://trycf.com/gist/2746d807170a0dc74e7349935320a78e/lucee5?theme=monokai