怎样用JS实现关闭当前窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用JS实现关闭当前窗口相关的知识,希望对你有一定的参考价值。

参考技术A

大约有三种方式:

1、直接关闭当前窗口代码如下:

<a href="javascript:window.opener=null;window.open('','_self');window.close();">关闭</a>

2、自定义提示关闭代码如下:

<script language="javascript">
function custom_close()
if 
(confirm("您确定要关闭本页吗?"))
window.opener=null;
window.open('','_self');
window.close();

else

</script>

<input id="btnClose" type="button" value="关闭本页" onClick="custom_close()" />

3、关闭当前页面代码如下:

<a href="javascript:window.opener=null;window.close();">关闭</a>如果是按钮则:

Response.Write("<script language=\\"javascript\\">window.opener=null;window.close();</script>");

这样点关闭的时候就不会弹出如当前窗口正试图关闭的对话框了.

拓展资料

1、JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2、在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

WPF怎样关闭当前窗口

我用下面这段代码打开了一个窗口
TimerSetting form = new TimerSetting();
form.ShowDialog();
之后在新窗口中用:this.close();
系统报如下错误:
错误 4 “AutoOrder.TimerSetting”不包含“hide”的定义,并且找不到可接受类型为“AutoOrder.TimerSetting”的第一个参数的扩展方法“hide”(是否缺少 using 指令或程序集引用?)
怎么办?怎么能在当前窗口上关闭窗口?

WPF关闭当前窗口:
public MainWindow()

InitializeComponent();
//在属性窗口那里貌似找不到这事件,但是可以手动注册
this.Closing += F;


private void F(object o, System.ComponentModel.CancelEventArgs e)

if (MessageBox.Show("关闭", "", MessageBoxButton.YesNo) == MessageBoxResult.No)
e.Cancel = true;
参考技术A this.DialogResult = true; // false;

追问

谢了,上午的问题就是你回答的,给力啊、、
顺便问一下,怎么禁用关闭按钮(红X)呢?

追答

这个需要用到 Windows 的 API

建议用比较简单的方法,就是使用 Window_Closing 事件

private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)

    // Cancel 参数可以这样理解: 是否取消关闭窗口
    // 所以,true 不关闭 false 关闭
    e.Cancel = true;
            
    // 可以用参数或表达式判断是否满足条件
    // 然后再决定是否关闭窗口

本回答被提问者采纳

以上是关于怎样用JS实现关闭当前窗口的主要内容,如果未能解决你的问题,请参考以下文章

怎样用js关闭一个url打开的窗口

WPF怎样关闭当前窗口

js如何实现父窗口前端显示,如果父窗口关闭则重新打开

WPF中,怎样设置点击按钮关闭当前窗口

JS实现关闭当前子窗口,刷新父窗口

求助:js,如何关闭IFRAME的父窗口