HTML_页面点击按钮关闭页面的几种方式

HTML页面点击按钮关闭页面的几种方式

一、不带任何方式的关闭窗口

<input type="button" name="close" value="关闭" onclick="window.close();" />

二、提示之后关闭页面

<script>
function custom_close(){
    if(confirm("您确定要关闭本页吗?")){
        window.opener=null;
        window.open('','_self');
        window.close();
    }
    else{
    }
}
</script>
<input id="btnClose" type="button" value="关闭本页" onClick="custom_close()" />

三、点击关闭本页面并跳转到其他页面

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>html中</title>
</head>
<body onbeforeunload="return myFunction()">
<p>该实例演示了如何向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.runoob.com">点击跳转到菜鸟教程</a>     
<script>
    function myFunction() {
        return "我在这写点东西...";
    }
</script>
</body>
</html>

四、将 三 中的方法放到js中

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript 中</title>
</head>
<body>
    <p>该实例演示了如何使用 HTML DOM 向 body 元素添加 "onbeforeunload" 事件。</p>
    <p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
    <a href="http://www.runoob.com">点击调转到菜鸟教程</a>
<script>
    window.onbeforeunload = function(event) {
        event.returnValue = "我在这写点东西...";
    };
</script>
</body>
</html>
jQuery 中,你可以使用 `window.open` 功能打开新的浏览器窗口,同时为了实现点击其他按钮关闭之前的页面,可以采用以下几种方法: 1. **JavaScript全局变量**: - 使用一个全局变量来跟踪当前打开的窗口引用,当需要关闭时,通过这个变量找到对应的窗口并调用 `close()` 方法。 ```javascript var activeWindow; function openPage() { activeWindow = window.open('new_page.html'); } function closeActiveWindow() { if (activeWindow) { activeWindow.close(); } } // 然后在按钮点击事件中使用这两个函数 $('#button1').click(openPage); $('#button2').click(closeActiveWindow); ``` 2. **事件监听**: - 可以给所有可能关闭按钮添加一个通用的事件处理器,检测到目标窗口是否是你想要关闭的那个。 ```javascript function setActiveWindow(window) { if (typeof activeWindow !== 'undefined') { activeWindow.focus(); // 保持焦点 } activeWindow = window; } function closeModal() { setActiveWindow(window.parent); } $('#button1').click(function() { setActiveWindow(window.open('new_page.html')); }); $('#button2').click(closeModal); ``` 3. **HTML5 History API** (仅适用于现代浏览器): - 如果允许的话,可以利用 HTML5 的 history API 来替代传统的方式,通过 pushState 和 popstate 监听历史状态变化来控制页面。 ```javascript function openPage() { window.history.pushState(null, null, '#new-page'); } function closeCurrentPage() { window.history.back(); } // 同样地,绑定按钮事件 $('#button1').click(openPage); $('#button2').click(closeCurrentPage); ``` 请注意,对于旧版浏览器,可能需要处理一些兼容性问题,比如上述的 `history` API。在实际应用中,请选择最适合你项目需求的方式来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博客zhu虎康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值