无提示关闭窗口怎么做
解决思路:
因为目前关闭窗口的方法都不能完全兼容IE5以上的版本,所以需要根据用户浏览器版本而执行不同的代码。如果版本为6.0以下,用HHC控件关闭,否则用声明当前窗口为子窗口的方法关闭。
具体步骤:
1. 对于IE6.0+SP1以下版本的浏览器,下面的代码能正常运行:
<object classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 id="CLS" type=application/x-oleobject>
<param name="Command" value="Close">
</object>
<button onClick="CLS.Click()">关闭窗口</button>
在IE6.0+SP1上运行,单击【关闭窗口】按钮后提示,如图1.5.15所示:
图1.5.15在打了SP1的IE6上用HHC控件关闭窗口
2. 对于IE5.5以上版本的浏览器,下面的代码能正常运行:
<object classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></object>
<button onClick="WebBrowser.ExecWB(45,1)">关闭窗口</button>
3.如果当前窗口是用window.open()方法弹打开的子窗口,直接用下面的代码就可以关闭:
<button onClick="self.close()">关闭窗口</button>
在非子窗口中运行后单击【关闭窗口】按钮,会有一个确认对话框(图1.5.16)。
图1.5.16 在没有父窗口的窗口中用close方法关闭窗口
4. 对于IE6.0以上版本的浏览器,下面的代码能正常运行:
<button onClick="self.opener=null;self.close()">关闭窗口</button>
这个方法类似于3,但需要用self.opener=null(null也可以换成任意值)声明当前窗口为子窗口(骗IE的而已)
5.上面的1、2、4三种方法中任意一个单独应用,都无法兼容所有版本的IE浏览器,但方法1和方法2或4的并集都是全集,所以可以通过判断IE版本来执行相应代码:
<script>
function closeit(){
//方法1中用到的控件代码
var ObjStr=’<object id="Cls" classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 type=application/x-oleobject><param name="Command" value="CloseX"></object>’
if(parseInt(window.navigator.appVersion.split(";")[1].substr(5))>=6){ //如果IE版本在6.0以上,用方法4关闭窗口
self.opener=’’
self.close()
}
else{ //如果IE版本低于6.0,用方法1关闭窗口
//如果控件对象不存在,插入控件代码
if(!document.getElementById("Cls"))
document.body.insertAdjacentHTML("BeforeEnd",ObjStr)
Cls.Click()
}
}
</script>
<button onClick="closeit()">关闭窗口</button>
技巧:HHC控件代码中的CloseX 可以改为 Close后加任意字母。
特别说明
本例通过判断客户端的IE浏览器版本而用不同的代码关闭窗口,以达到兼容的目的。
1. window.navigator.appVersion获取浏览器运行的平台和版本。
2. String.substr(开始位置 [,要截取的字符长度]) 返回一个从指定位置开始的指定长度的子字符串。
3. document.getElementById("ID属性值") 获取对 ID 标签属性为指定值的第一个对象的引用。
4. insertAdjacentHTML("HTML 文本",位置) 在指定位置的元素中插入给定的 HTML 文本。
相关问题
如何让引导页在打开无边窗口后无提示关闭
一般引导页打开无边窗口的方法都是通过在onload 中触发打开无边窗口的函数,所以只需要把上面的无提示关闭窗口的方法附加上 onload 事件后就可以了。
分享到:
相关推荐
默认情况下,窗口过程(WndProc)接收到这个消息后会关闭窗口。我们的目标就是拦截这个`WM_CLOSE`消息,不让它执行默认操作。 在Visual C++中,我们通常使用`CreateWindow`或`CreateDialog`函数创建窗口,而这些...
然而,为了更好地控制用户界面的行为,我们需要学习如何通过编程的方式来关闭窗口。 在PyQt5中,我们可以使用信号和槽的概念来实现这一目标。信号是当特定事件发生时,一个对象可以发出的通知。槽则是响应这些信号...
在VB(Visual Basic)编程中,关闭窗口是一个常见的操作,特别是在开发用户界面应用程序时。这里,我们将详细探讨16种不同的方法来关闭VB中的窗口,这些方法可以根据具体的应用场景和需求选择使用。 1. **Form.Hide...
标题“根据窗口标题关闭窗口”涉及的是一个编程技术,它允许开发者通过指定窗口的标题来关闭对应的运行进程或窗口。这种技术通常应用于自动化脚本、系统管理工具或者自定义应用程序中,以实现对特定窗口的精确控制。...
ViewModel发布一个关闭窗口的事件,而View订阅这个事件并在接收到事件时关闭窗口。 3. **依赖属性(Dependency Property)**: ViewModel可以定义一个依赖属性,如`CloseRequested`,当ViewModel需要关闭窗口时,...
在易语言中,"关闭窗口提示"是一个常见的功能,它涉及到用户交互和程序控制流程的重要方面。 首先,我们要理解"关闭窗口提示"的概念。在大多数应用程序中,当用户尝试关闭窗口时,可能会希望得到一个确认提示,以防...
### 判断浏览器是刷新还是关闭窗口 在网页开发过程中,我们常常希望能在用户退出或离开当前页面时执行一些特定的操作,比如保存用户的状态、显示一个警告框等。为此,JavaScript 提供了 `onunload` 事件,它会在...
标题中的“自动关闭窗口程序 能关闭指定标题的窗口”表明这是一个软件或脚本,它的主要功能是自动识别并关闭具有特定标题的窗口。这样的工具通常用于自动化工作流程,提高效率,或者在某些特定场景下,例如清理无...
"关闭窗口前提示"这个主题,主要涉及到的是软件或应用在用户尝试关闭窗口时如何提供友好的交互反馈,以防止意外数据丢失或者确保用户有足够的时间保存工作。这种功能在许多程序中都得到了广泛应用,例如文本编辑器、...
标题中的“关闭窗口时自动”可能是指在操作系统或应用程序中设置的一种功能,即当用户关闭一个窗口时,程序会自动执行特定的操作,比如保存数据、退出程序或执行其他关闭相关的任务。这一特性常见于各种软件中,以...
像迅雷一样,很多程序在关闭窗口前都有诸如是否确定退出程序的提示。有了这个提示,可以有效地防止因错误的操作而带来的不必要的麻烦。我们自己的VB程序要想也有此功能,关键是要截获关闭信息,以及在用户不想关闭时...
在IT领域,尤其是在软件开发和用户体验设计中,"关闭窗口的提示"是一个常见的主题。它涉及到用户界面(UI)设计、人机交互(HCI)原则以及程序中的事件处理。关闭窗口提示通常是为了防止用户意外丢失数据或未保存的...
在上述代码中,我们创建了一个Ajax请求,发送JSON数据到服务器,当请求成功返回时,关闭窗口并隐藏父窗口的层。 这个DEMO提供了一个实用的解决方案,帮助开发者实现子窗口与父窗口之间的交互,尤其在需要同步更新父...
在这个"易语言源码关闭窗口或进程.7z"压缩包中,包含的是使用易语言编写的一段程序,其主要功能是关闭指定的窗口或者进程。 在Windows操作系统中,窗口与进程是两个不同的概念。窗口是用户与应用程序交互的可视化...
标题中的“向你展示16种关闭窗口的特效”意味着我们将探讨如何在应用程序窗口关闭时实现各种视觉效果。这通常涉及到编程技术,特别是在GUI(图形用户界面)开发中,如Windows Forms或WPF等框架。这些特效可能包括渐...
在IT领域,尤其是在软件开发和用户体验设计中,"关闭窗口前提示"是一个常见的功能,它涉及到用户交互和程序控制流程。这个实例027显然关注的是如何在用户尝试关闭一个应用窗口时,提供一个警告或确认提示,以防止...
在VC++编程环境中,我们经常会遇到需要在用户尝试关闭窗口时执行特定操作的情况,比如弹出一个对话框询问用户是否确定要退出。本篇将详细解释如何实现这一功能,主要涉及的知识点包括消息处理、对话框以及事件驱动...
在C#编程中,有时我们需要实现特定功能,例如在应用程序运行时禁止用户关闭窗口或禁用窗体上的关闭按钮,以确保某些操作的完整性或强制用户完成特定任务。标题和描述提到的“C#源码,禁止关闭窗口,禁用窗体上的关”...
在PowerBuilder中,"关闭窗口前提示"是一个常见的功能,尤其对于初学者来说,了解如何实现这一功能至关重要。PowerBuilder是一款强大的第四代编程语言(4GL),主要用于开发企业级的应用程序,尤其是数据库应用。它...