如何用javascript判断 当前窗口的打开模式
发布网友
发布时间:2022-05-09 01:12
我来回答
共6个回答
热心网友
时间:2022-04-23 15:06
如果代码判断的话,可以用一个属性。即window.opener。只有用open打开的页面,在调用其父页面的时候可以用window.opener。如果window.opener是undefined,说明是showModalDialog打开的或者其他方式打开的。
热心网友
时间:2022-04-23 16:24
可以用一个属性。即window.opener。只有用open打开的页面,在调用其父页面的时候可以用window.opener。如果window.opener是undefined,说明是showModalDialog打开的或者其他方式打开的。
热心网友
时间:2022-04-23 17:58
楼上说的是人工判断。如果代码判断的话,可以用一个属性。即window.opener。只有用open打开的页面,在调用其父页面的时候可以用window.opener。如果window.opener是undefined,说明是showModalDialog打开的或者其他方式打开的。
热心网友
时间:2022-04-23 19:50
<pre name="code" class="html"><pre name="code" class="html"><HTML><HEAD>
<script Language="JavaScript">
window.onbeforeunload=function(event){
alert("222"); //这里IE9会执行,CHROME不会执行
// if(event.clientX>document.body.clientWidth && event.clientY<0||event.altKey){ //如果是刷新,则不提示
RETURN "确定关闭窗口?";
// }
}
var aa ;
var intervalVar;
function showClose(){
console.log(" wait and val is :"+aa.closed);
clearInterval(intervalVar);
}
function loadform(){
aa=window.open('foo.html', 'windowName',"width=200,height=200,scrollbars=no");
console.log("check close before op and val is :"+aa.closed); //现在窗口未关闭,结果为false
aa.close();<span style="white-space:pre"> </span> //调用窗口关闭的方法
console.log("not in wait and val is :"+aa.closed); //此时aa.close正在调用过程中,结果为false
intervalVar = setInterval(showClose,100); }; //用循环检测子窗口是否关闭,其实用setTimeout也是可以的,不过值要设得大一些
function unloadform(){ alert("2!"); }
</script>
</HEAD><BODY OnLoad="loadform()" OnUnload="unloadform()">
</BODY></HTML>
热心网友
时间:2022-04-23 21:58
open打开的新窗口标题栏上可以看到 最小化 最大化按钮,而showModalDialog默认是没有的,只有一个小叉叉
open打开的新窗口可以鼠标可以点击父窗口的,showModalDialog只有把新打开的窗口关了鼠标的焦点才可触到父窗口(从某种程度上来说它就是个对话框)!
热心网友
时间:2022-04-24 00:22
猜测你本意是防止OPEN方式直接打开页面吧
window.showModalDialog(sURL [, vArguments] [,sFeatures])
用vArguments来判断更准确,open方式打开的页面接收不到vArguments参数