我有一个带有cfwindow的页面,需要用户登录才能查看页面上的内容。目前的问题是,如果用户登录到站点,然后什么也不做,会话超时,我没有办法在用户打开它时将窗口的父窗口重定向到登录屏幕。
到目前为止,我已经尝试使用cflocation,但它无法指定应该重定向的容器(即,窗口中的页面被重定向,但不是窗口的父级)。我也考虑过使用基于会话的值的隐藏输入,然后用Body onLoad事件检查,但目前这不适用于页面的设置方式。
我的最后一个选择是在加载窗口时检查会话变量,如果用户没有登录,则关闭它,这将导致父进程刷新并重定向到登录。然而,我找不到一种不使用javascript就能关闭cfwindow的方法。
发布于 2010-05-03 21:33:50
您可能想要做的是--而不是在检测到会话超时时执行<cflocation/>;您希望输出指示会话已过期的超文本标记语言内容,以及JavaScript重定向,如下所示:
Your session has expired. Please log in again.
<script type="text/javascript">
document.location.href = '/login.cfm';
</script>
<cfabort/>其次:
我找不到不用javascript就能关闭to窗口的方法。
为什么这是一个问题?使用JavaScript创建CFWindow。甚至有helper methods可以关闭它:
ColdFusion.Window.hide('{windowNameHere}');https://stackoverflow.com/questions/2756065
复制相似问题