搜索

首页  >  问答  >  正文

javascript - jq或者js如何关闭已经打开的alert对话框

jq或者js如何关闭已经打开的alert对话框

我已经通过一个回调函数打开了一个alert,现在想让他显示几秒后自动关闭,请问jq如何做到,js也行,函数劫持的话,针对的是当前页面所有的alert,我目前只需要控制其中一个alert,跪求前端大神解答

ps:不是问题重点,我怕有人问我为啥这么做……
另外,我这个是用于H5的 web Notification的,通过Notification的点击回调打开已经缩小的页面,不知道怎么写,只好用alert来让页面重新最大化

var msg = 'test';
var n = new Notification("来自用户xxxx的新消息", {  
    icon: 'pic.png',  
    body: '消息内容:'+msg  
});  
n.onclick = function() {
    alert(1234);
    //想通过劫持函数来重新定义alert函数……但是好像是全局的……
    var ALERT_ON = true; 
    var _alert = window.alert;
    window.alert = function(msg) {
        if (ALERT_ON) {
            _alert(msg);
        }
    }
    //location.reload();
    n.close();
};
天蓬老师天蓬老师2792 天前904

全部回复(3)我来回复

  • 某草草

    某草草2017-05-19 10:26:57

    alert弹出的窗口,好像没有办法自动关闭。
    可以自己写一个alert弹窗。


    我重新编辑一下 up主想要的效果。
    点击Notification通知放大或显示当前页面。

    直接再Notification的onclick里加这行代码就可以了。

    window.focus();
    

    回复
    0
  • PHP中文网

    PHP中文网2017-05-19 10:26:57

    alert会中断JS的执行,所以这需求没法实现。

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:26:57

    因为alert是没法关闭,只能禁用,所以建议自己手写个弹出框。
    自己用p写个遮罩的弹出模态框,然后setTimeout定时关闭。

    回复
    0
  • 取消回复