为啥我的js关闭窗口没执行呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的js关闭窗口没执行呢相关的知识,希望对你有一定的参考价值。

参考技术A 到了web浏览器上不管是jsp,还是asp,php等等,最终生成的内容都是html。如果需要交互必定就是javascript。以关闭页面的js来说,你想要的功能,两种方式:
第一、直接执行代码所有执行的代码不包含ajax请求。
function close()

//你要执行的非ajax异步任务或代码写在这里
if(condition)
console.log("execute my task");
for(var i = 0; i < 100; i++)

console.log(i+"="+i)

else
//不会执行后面的关闭代码
alert("warning info");
return;

//写try的目的是因为try语句中的内容,某些浏览器不一定支持
try
window.openner = null;
window.open("_blank","_self","");
window.close();

catch(e)
winddow.close();



第二、有ajax请求
方式两种,以jquery的ajax为例
1、采用异步请求,在异步请求完成后关闭窗口
function close()

//your other codes go here

.... ...
var myurl = "";
$.ajax(
//注意这歌参数设置是否异步请求,这个设置成异步的
async:true,
url:myurl,
type:"post",
data:sessionid:"1111-1111-1111-222",
dataType:"json",
success:function(response)

//your other codes go here
... ...
try
window.openner = null;
window.open("_blank","_self","");
window.close();

catch(e)
winddow.close();


error:function(xhr,e,emsg)
//ajax 出错的时候回调处理方法

);

2、采用同步请求
function close()

//your other codes go here

.... ...
var myurl = "";
$.ajax(
//注意这歌参数设置是否异步请求,这个设置成异步的
async:false,
url:myurl,
type:"post",
data:sessionid:"1111-1111-1111-222",
dataType:"json",
success:function(response)

//your other codes go here
... ...

error:function(xhr,e,emsg)
//ajax 出错的时候回调处理方法

);
try
window.openner = null;
window.open("_blank","_self","");
window.close();

catch(e)
winddow.close();


最后不知道你品出我写出来的为什么会那样?我解释一下ajax异步与同步的区别,帮助你理解:
同步,代码执行到ajax这块会一直等到ajax请求结束再执行ajax后面的代码;异步,碰到ajax会放倒一个任务队列中去,任务执行后采取会掉通知进行处理。并且ajax任务放入队列后立马会执行后续的代码,不等ajax请求完毕。
希望对你有帮助。
参考技术B 因为你先跳转了。。。再多的代码都没有用了。。。追问

怎么让跳转过去 三秒后关闭呢

js css 为啥 用js删除一个节点后、显示时后面的标签没往上移呢(ie8以下 是这样,其他正常)、谢谢啊

朋友们、为什么 用js删除一个节点后、显示时后面的标签没往上移呢(ie8以下 是这样)、谢谢啊
代码如下:
body background: #FF99FF
h2 margin:50px auto;
#name margin:50px auto;width:455px;line-height:35px;letter-spacing:2px;font-size:25px;
span border:1px solid white;display:inline-block;width:100px;height:35px;background-color:skyblue;letter-spacing:2px;text-align:center;
input cursor: pointer;width:120px;height:40px;font-size:30px
lack font-size:20px;color:white;border:1px solid pink;display:inline-block;width:75px;height:32px;border:solid 1 green;background-color:red;letter-spacing:2px;text-align:center;
。。
。。
。。
<span>1111</span>
<span>2222</span>
<span>3333</span>
<span>4444</span>
。。
。。
。。
$("span:eq("+rnd+")").remove(); rnd是产生的一个随机数

----能删除,就是删除了后面的元素不往上移。ie8以下的是这样-.感谢各位---

参考技术A window.location.reload;
删除后刷新一下试试。

以上是关于为啥我的js关闭窗口没执行呢的主要内容,如果未能解决你的问题,请参考以下文章

我的电脑在运行中总会出现“数据执行保护-Microsoft Windows”窗口,请问这是为啥?

为啥我的 Fancybox 窗口会立即打开和关闭?

JS弹窗提交关闭后,刷新父页面 在线等 急!!!

jsp 中用js提交表单并关闭本窗口的问题

PyQt:为啥新窗口在打开后立即关闭[重复]

Kendo UI - 为啥我不能正确打开和关闭窗口?