如果不是用户在 js 中的物理点击,如何在加载 url 时允许弹出窗口

问题描述 投票:0回答:2

我想在网站加载时允许弹出窗口,如果事件的根本原因不是用户的物理点击,那么它就会被阻止。有帮助吗?

我的代码:

$("#buttonBtn").on('click',function(){
    openpopup('temp'+id)
});

$("#buttonBtn").trigger('click');
javascript jquery jquery-events
2个回答
0
投票

这样,如果您明确单击,则会出现弹出窗口。如果用户通过键盘来到这个按钮并按 Enter 或其他东西,我想这不会被触发。

$("#buttonBtn").click(function(e){

    e.preventDefault();
    // some job you will do if clicked, for example, open popup

});

这里有很好的例子


0
投票

您通常可以使用

window.open
打开弹出窗口。然而,大多数浏览器都有内置的弹出窗口拦截器,用户会收到弹出窗口的通知,并询问他是否真的想显示它。

MDN 有一篇关于

window.open
的信息性文章。它还提供了一些有关弹出窗口阻止程序的信息:

我怎么知道我的窗口何时被弹出窗口阻止程序阻止了?

随着 Mozilla/Firefox 和 Internet Explorer 6 的内置弹出窗口拦截器 SP2,你必须检查 window.open() 的返回值:它将是 如果不允许打开窗口,则为 null。然而,对于大多数其他 弹出窗口拦截器,没有可靠的方法。

来源:https://developer.mozilla.org/en-US/docs/DOM/window.open

© www.soinside.com 2019 - 2024. All rights reserved.