通用的模式弹出窗口(适用于IE,Firefox,Opera,Netscape)

本文介绍了一种跨浏览器兼容的JavaScript弹出窗口方法,适用于IE、Firefox、Opera及Netscape等浏览器。通过设置窗口位置、尺寸及显示模式,实现了自定义弹窗,并附带示例代码与HTML元素测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<html>
<head>
<title>JsPopWin</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<scriptlanguage="JavaScript">
//=========================================================================================================
//通用模式弹出窗口(适用于IE,Firefox,Opera,Netscape)
//==========================================================================================================
functionpopWin(theURL,winName,theW,theH,showAsModal){
theTop=(window.screen.height-theH)/2;
theLeft=(window.screen.width-theW)/2;
varfeatures="toolbar=0,scrollbars=yes,left="+theLeft+",top="+theTop+",width="+theW+",height="+theH;

window.SubWin=window.open(theURL,winName,features);
window.SubWin.focus();

if(showAsModal){
window.CtrlsDisabled=newArray();
DisableCtrls("INPUT;SELECT;TEXTAREA;BUTTON");
}

functionDisableCtrls(tagNameStr){
vararrTags=tagNameStr.split(";");
for(vari=0;i<arrTags.length;i++){
vararrEle=document.getElementsByTagName(arrTags[i]);
PushToCtrlsDisabled(arrEle);
}

for(vari=0;i<window.CtrlsDisabled.length;i++){
window.CtrlsDisabled[i].disabled=true;
window.CtrlsDisabled[i].readOnly=true;
}
}

functionPushToCtrlsDisabled(arrEle){
for(vari=0;i<arrEle.length;i++){
if(!arrEle[i].disabled){
window.CtrlsDisabled.push(arrEle[i]);
}
}
}

window.onfocus=function(){
if(window.SubWin&&showAsModal){
if(window.SubWin.closed==true||typeof(window.SubWin.closed)=="undefined"){
for(vari=0;i<window.CtrlsDisabled.length;i++){
window.CtrlsDisabled[i].disabled=false;
window.CtrlsDisabled[i].readOnly=false;
}
}else{
window.SubWin.focus();
}
}
}
}
</script>
</head>
<body>
<formaction=""method="post"name="frm">

<!--测试HTML控件start-->
<inputtype="text"name="txt"value="">
<textareaname="textarea"></textarea>
<inputtype="text"name="textfield">
<inputtype="hidden"name="hiddenField">
<inputtype="checkbox"name="checkbox"value="checkbox">
<inputtype="radio"name="radiobutton"value="radiobutton">
<inputtype="radio"name="radiobutton"value="radiobutton">
<selectname="select">
<option>aaa</option>
<option>bbb</option>
</select>
<inputtype="file"name="file">
<label>dsfgsg</label><inputtype="submit"name="Submit"value="提交">
<inputtype="button"name="Submit2"value="按钮">
<inputtype="reset"name="Submit3"value="重置">
<buttonname="Submit2"value="按钮xxxx">yyyyyyyyy</button>
<buttonname="Submit2"value="按钮xxxx"disabled>safasfdsadf</button>
<br><br>
<inputtype="button"value="Testtypeof">
<inputtype="submit"value="Submit">
<br><br>
<inputtype="button"value="CloseWindow"onclick="window.opener=null;alert('xxx');window.close();">
<divid="divId"style="border:solid1px#ff0000;width:100%;"></div>
<scriptlanguage="JavaScript">
varbtn=document.createElement("button");
btn.innerHTML="文件(<u>F</u>)";
btn.disabled=true;
vardivId=document.getElementById("divId");
divId.appendChild(btn);
</script>

<!--测试HTML控件end-->

<br><br><br>
<inputtype="button"value="PopWindow"onclick="popWin('JsXPopWinPop.htm','popWindow',300,150,true);">

</form>
</body>
</html>
通用的模式弹出窗口(适用于IE,Firefox,Opera,Netscape)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值