Javascript 模式窗口内的Url重定向
我的webapp可以“自行”运行,也可以由另一个webapp在模式窗口中打开 当用户关闭窗口时,我必须清理一些数据,以便捕获关闭窗口的事件,并重定向到如下特定操作:Javascript 模式窗口内的Url重定向,javascript,jsp,redirect,modal-dialog,Javascript,Jsp,Redirect,Modal Dialog,我的webapp可以“自行”运行,也可以由另一个webapp在模式窗口中打开 当用户关闭窗口时,我必须清理一些数据,以便捕获关闭窗口的事件,并重定向到如下特定操作: <script language="JavaScript"> window.onbeforeunload = function() { if ((window.event.clientX < 0) || (window.event.clientY < 0) ||
<script language="JavaScript">
window.onbeforeunload = function() {
if ((window.event.clientX < 0) || (window.event.clientY < 0) || (window.event.clientX < -80) || window.event.altKey == true) { // close button or ALT+F4
window.location.assign('<%=request.getContextPath()%>/borraSemaforo.do');
}
};
</script>
window.onbeforeunload=函数(){
如果((window.event.clientX<0)| |(window.event.clientY<0)| | |(window.event.clientX<-80)| | window.event.altKey==true){//关闭按钮或ALT+F4
window.location.assign('/borraSemaforo.do');
}
};
当webapp在非模式窗口中运行,而不是在模式窗口中运行时,这一点就起作用了
我无法控制在模式窗口中打开我的应用程序,因此我无法更改窗口的打开方式
有什么想法吗?对于在模式窗口中加载应用程序的情况: 一种方法是: 可以在onbeforeunload事件处理程序的窗口中创建隐藏的iframe。 在iframe中放置操作的url 另一方面— 创建一个指向url路径的小模式窗口。在url路径的响应中,发送一个小javascript来关闭模式窗口 打开iframe的代码-basic js
var i = document.createElement('iframe');
i.style.display = "none";
var d = new Date();
i.id = d.getTime();
i.onload = function(){
/*Task complete*/
alert('frame loaded')}
i.name = "exp" + d.getTime();
i.src = window.location.protocol + "//" + window.location.host + '<path>';
document.body.appendChild(i);
var i=document.createElement('iframe');
i、 style.display=“无”;
var d=新日期();
i、 id=d.getTime();
i、 onload=函数(){
/*任务完成*/
警报('已加载帧')}
i、 name=“exp”+d.getTime();
i、 src=window.location.protocol+“/”+window.location.host+”;
文件.正文.附件(一);
但当应用程序运行非模态时会发生什么?那么有两个窍门。。。。1.从url查询参数传递引用,或通过应用程序当前在模式窗口2中运行的cookie传递引用。对应用程序的非模式启动也做同样的事情。好的,你能用iframe的第一个技巧写一段代码吗?我似乎不知道如何做到这一点…另一个技巧-如果你能控制打开模式窗口的页面,那么你也可以在那里执行你的代码。太棒了!!谢谢你救了我一天:D