关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法
"window.location.href"、"location.href"是本页面跳转
"parent.location.href"是上一层页面跳转
"top.location.href"是最外层的页面跳转
举例说明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写
"window.location.href"、"location.href":D页面跳转
"parent.location.href":C页面跳转
"top.location.href":A页面跳转
如果D页面中有form的话,
<form>: form提交后D页面跳转
<form target="_blank">: form提交后弹出新页面
<form target="_parent">: form提交后C页面跳转
<form target="_top"> : form提交后A页面跳转
关于页面刷新,D 页面中这样写:
"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )
"top.location.reload();": A页面刷新
应用实例:
<script for="hq_callCenter" EVENT="TLAECallin">
var caller=obj1.tlaGetcallerid();
var called=obj1.tlaGetcalleeid();
var data=obj1.tlaGetuserdata();
var msg="新来电:"+caller;
form1.txt_Phone.value=caller;
form1.answer.disabled = ("");
callNo.innerText=msg;
//alert("Value:"+caller);
var tt=caller.substring(0,2);
if(tt=="01"){
if(caller.substring(0,3)!="010"){
caller=caller.substring(1,caller.length);
}
}
if( tt=="86"){
caller=caller.substring(2,caller.length);
}
if(tt=="+8"){
caller=caller.substring(3,caller.length);
}
//IVR回传密码
if(data!="")
{
switch(ddd){
case "p":
parent.frame_main.frame_server.form1.document.all[btnid].disabled = ("");
parent.frame_main.frame_server.form1.document.all[hidpwd].value=data;
alert("客户已输入密码!");
break;
case "c":
//tlaTransfertoivrs("","","u");
data=data.replace("*","X");
parent.frame_main.ip.form1.document.all["txtCardHolderId"].value=data;
alert("客户已完成身份证号像输入!");
break;
case "u":
//tlaTransfertoivrs("","","d");
parent.frame_main.ip.form1.document.all["txtCardNo"].value=data;
alert("客户已完成信用卡卡号输入!");
break;
case "d":
//tlaTransfertoivrs("","","k");
parent.frame_main.ip.form1.document.all["txtExpriedDate"].value=data;
parent.frame_main.ip.form1.document.all["txtdate"].value=data;
alert("客户已完成信用卡有效期输入!");
break;
case "k":
parent.frame_main.ip.form1.document.all["txtCvv2"].value=data;
parent.frame_main.ip.form1.document.all["tbcvv2"].value=data;
alert("客户已完成末三位验证码输入,请确认支付!");
break;
default :
parent.frame_main.location.href='CallCenter/Consume_Add.aspx?phone='+caller;
//ans();
//alert("Value Ans"+caller)
break;
}
}else{
parent.frame_main.location.href='CallCenter/Consume_Add.aspx?phone='+caller;
//ans();
//alert("No Value Ans"+caller)
}