当前位置:编程学习 > JS >>

增强功能Window.Close();Window.Open();使用方法介绍

1、Javascript关闭当前窗口

window.close()就可以,不过它会出个提示“您查看的网页正在试图关闭窗口。是否关闭窗口?”,如何才能不弹出这个提示?

“如果你第一次打开这个网页,window.close()就会弹出提示,如果这个网页是由其它的网页window.open()出来的页面,window.close()时,就不会出现提示;

<script language="JavaScript" type="text/javascript">
function cl()
{
window.opener='';
window.close();
}
</script>

上面的方法是当前页面的opener赋为空字符串(空字串可不是null,并不是为空),然后关闭当前页,做个按钮来触发这个方法;
<input type="submit" onclick="cl()" name="Submit" value="提交" />点击即关闭了当前窗口,且没有提示;

也有可能会用在框架页面,就是frame的子页中,那么上面的代码应该写成

<script language="JavaScript" type="text/javascript">
function cl()
{
window.top.opener='';
window.top.close();
}
</script>

经试验IE7、IE8 即使使用上面的方法,仍然会弹出提示(窗口时href链接打开的),使用下面的脚本

    <script language="JavaScript" type="text/javascript">
        function closeWindow()
        {
        window.opener=null;
       window.open('', '_self', '');
       window.close();
        }
    </script>

能同时解决IE6、IE7、IE8 的问题

 

2、Input 输入框的所有客户端事件

  onBlur  --失去焦点时触发  

    onChange          失去聚焦并且它的值发生变动时触发

     onClick             用鼠标左键点击时触发

     onFocus           获得聚焦的时候执行一些代码

     onKeyDown     有键按住的时候执行一些代码

     onKeyUp          按键释放则执行一些代码

      onSelect          当前选中的内容发生变化时执行一些代码

      onSelectStart    一些文字被选中则执行一些代码

 

3  通过弹出模态窗口和普通窗口,如何得到回传值?

父页面的代码 (parent.aspx)
 <script language="javascript" type="text/javascript">
        function openWindow(url) {
//            var returnValue = window.showModalDialog(url, window, "dialogWidth=320px;dialogHeight=300px;dialogTop=20;dialogLeft=300;status=no;help=no;scroll=no");//模态窗口通过定义个变量接收返回值
//            alert(returnValue);

           window.open(url, 'window', "dialogWidth=320px;dialogHeight=300px;dialogTop=20;dialogLeft=300;status=no;help=no;scroll=no")//普通窗体
        }
        function ReceiveValue(value) {
            alert("通过弹出窗口调用父页面的js方法获取value值:" + value)
        }
   
    </script>

 

  <input  type="button" value="打开子窗口" onclick="openWindow('child.aspx')"/>
 

弹出页的代码(子页面child.aspx)

<script >
        function SelectWhichOne(value) {
                        //window.returnValue = value;//模态窗口的方式,给模态窗口返回父页面 赋值,父页面接收
            window.opener.ReceiveValue(value);//打开普通窗口的方式,通过调用父页面定义的js方法将值作为参数传递
            window.close();
        }
    </script>
 
<div>
    这里是子页面
       <input id="Checkbox2" type="checkbox"  onclick="SelectWhichOne('我')"/>选择我
       
         <input id="Checkbox1" type="checkbox"  onclick="SelectWhichOne('他')"/>选择他
    </div>
 

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,