Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除JavaScript window.onbeforeunload上的表行_Javascript_Sql Server - Fatal编程技术网

删除JavaScript window.onbeforeunload上的表行

删除JavaScript window.onbeforeunload上的表行,javascript,sql-server,Javascript,Sql Server,我有一个使用iframes的Ecomm站点 当用户访问站点时,将在主窗口服务器端的ColdFusion中创建一个唯一标识符。此id被写入表中,以便其他页面可以检查id是否有效。我不使用会话或cookie 所有功能都在主页iframes中,因此主页在访问期间保持打开状态,并且从不刷新 我要做的是从站点出口上的表中删除用户id行 参观现场时: 我创建userID并将userID写入表中。服务器端 我需要将该userID变量添加到客户端脚本中,如下所示: window.onbeforeunload

我有一个使用iframes的Ecomm站点

当用户访问站点时,将在主窗口服务器端的ColdFusion中创建一个唯一标识符。此id被写入表中,以便其他页面可以检查id是否有效。我不使用会话或cookie

所有功能都在主页iframes中,因此主页在访问期间保持打开状态,并且从不刷新

我要做的是从站点出口上的表中删除用户id行

参观现场时:

我创建userID并将userID写入表中。服务器端

我需要将该userID变量添加到客户端脚本中,如下所示:

 window.onbeforeunload = function(e) {
   window.location.href = "unload.cfm?userID=";
 };
使用unload.cfm运行查询-删除站点出口上的行

如何将userID放入JavaScript中?或者有没有更简单的方法

注意:我没有将此列为CF问题,因为它与任何服务器端应用程序都是一样的

谢谢,
Andy

您可以通过此函数调用读取URL并提取所需参数:

function getUrlParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}          
函数getUrlParameter(sParam) { var sPageURL=window.location.search.substring(1); var sURLVariables=sPageURL.split('&'); 对于(变量i=0;i
var ID=getUrlParameter(“userID”)

我不确定您的情况,但通常在网站上,用户一次只允许使用一个用户登录/验证

如果是这样的话,那么您可以在为用户创建id时存储用户ip地址,并在卸载时调用卸载页面,而不使用任何参数

这样,您就可以将删除请求中的ip与存储的ip进行匹配,并删除相应的用户id。

试试这个

在“卸载并执行”对话框中返回图像

window.onbeforeunload = function(e) {
  document.getElementById("logged").src = "unload.cfm?userID=#userID#";
};
使用



您不能在卸载前更改位置。你可以试试Ajaxmplungian,我希望在页面退出时调用函数(url)。我只想找到一种从表中删除userID行的方法,而访问者不必做任何事情,因为他们不会这样做。嗨,pSaadi,我使用了window.onbeforeundload=function(e){window.location.href=“unload.cfm?userID=“var ID”“;};我得到的只是userID=varID。在查看页面的源代码时。嗨,克里斯,这与登录无关。UserID是独立于任何其他函数创建的,用于跟踪和相互标识不同表中的任何db post。通过在写入表之前检查userID是否存在,我可以过滤掉一些网络钓鱼攻击。@Andy我之所以提到login/auth,是因为只有在同一台计算机上所有打开的并发会话都使用相同的userID时,此解决方案才有效。您是否需要为每个打开的iframe/选项卡设置单独的userId?Chris jS在主页中加载iframe,所有功能和页面导航都发生在iframe中,因此主页(默认)不会更改,也不会看到其中的活动。通过将exit jS放在主页上,它将始终拥有脚本,并知道浏览器是否正在关闭。
<img src="loggedin.gif" id="logged" />