Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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 can';似乎没有更改window.location.href或window.location_Javascript_Asp.net - Fatal编程技术网

Javascript can';似乎没有更改window.location.href或window.location

Javascript can';似乎没有更改window.location.href或window.location,javascript,asp.net,Javascript,Asp.net,我正在开发一个遗留应用程序,它将用户的大量会话数据存储在数据库中,当用户注销或离开站点时,它会被编码以清除所有会话数据。它通过使用onunload事件调用javascript函数来实现。该函数使用multilple语句,将window.location.href设置为各种aspx文件的路径,这些文件将清除特定应用程序的数据…如下所示: window.location.href = "/SubDir/SessionReset.aspx"; window.location.href = "/Ano

我正在开发一个遗留应用程序,它将用户的大量会话数据存储在数据库中,当用户注销或离开站点时,它会被编码以清除所有会话数据。它通过使用onunload事件调用javascript函数来实现。该函数使用multilple语句,将window.location.href设置为各种aspx文件的路径,这些文件将清除特定应用程序的数据…如下所示:

window.location.href = "/SubDir/SessionReset.aspx"; 
window.location.href = "/AnotherSubDir/SessionReset.aspx"; 
window.location.href = "/ThirdSubDir/ClearData.aspx";
我有一个问题,一个问题。 问题:该语句似乎无法更改window.location.href中的值。如果我这样做:

console.log("First: " + window.location.href);
window.location.href = "/Subdir/SessionReset.aspx";
console.log("Second: " + window.location.href);
href的值在第一个控制台日志和第二个控制台日志之间没有变化。该页面不会“重定向”到SessionReset.aspx页面,因此代码永远不会运行

问题是:将window.location.href连续设置为不同值的多个语句是否仍然有效?看起来,如果第一个“window.location.href=”语句起作用,浏览器就会转到该页面,就是这样。它如何返回以便下一个“window.location.href=”语句可以运行,并将浏览器发送到下一页。这似乎不可能。我错了吗


感谢您提供的所有清晰信息。

只有一个位置更改才能起作用

你可以这样做

iframe1.location.href = "/SubDir/SessionReset.aspx"; 
iframe2.location.href = "/AnotherSubDir/SessionReset.aspx"; 
window.location.href = "/ThirdSubDir/ClearData.aspx";

有两个iFrame,可能中间有一些超时,但最好的方法是调用一个服务器进程来清除所有数据

页面不可能转到多个位置…我认为您需要创建一个XMLHttpRequest,并在服务器上调用一些函数来为您完成所有清理工作。这可以在window.onunload事件上完成。否则,您可以在当前窗口关闭之前打开新窗口,然后该页面可以执行清理工作并自行关闭。onunload在chrome中不起作用,opera w3schools不是可靠的参考。我已经看到了有关onunload不起作用的w3schools信息。我通过使用window.onunload=window.onbeforeunload=(function(){CallMyJavascript();});,绕过了它;。这似乎奏效了。javascript运行。真是太神奇了。我正在编写的代码已经存在多年了,据我所知,它从未起过作用。尽管如此,我还是想知道当我将window.location值设置为新URL时,它为什么没有改变。谢谢你的回答!对我认为在服务器端完成所有这些工作肯定是答案。谢谢你的建议!