允许弹出窗口并显示警报

3
我正在尝试让用户在点击弹出窗口上的“确定”后,可以允许我的网站弹出窗口。我的当前代码如下:
var w = window.open( "urls","_blank", "height = 200, width = 300, top=450, left=1025" );
if(w == null || typeof(win) == "undefined" || win.location.href == 'about:blank') {
alert("You must allow pop ups before continuing, click the button to allow pop ups");
}

请问我该如何实现这个功能,或者如果不可行,是否有一种方法可以让用户很容易地允许我的站点弹出窗口而不必要求他们进入浏览器设置。

非常感谢


2
这是一个浏览器安全设置 - 你不能通过编程来改变它。 - user1864610
嗨,迈克。谢谢,换句话说,我不能有一个按钮让访问者允许我的网站弹出窗口。访问者必须在其浏览器设置中手动执行此操作,是这样吗? 如果是这样的话,我能否使用头函数将他们重定向到另一个页面? - user2408368
我发现使用除了 onclick() 以外的任何东西都会导致弹出消息。至于将他们重定向到另一个页面,您可以使用类似 window.location.assign('http://www.example/com'); 的东西。 - jerdiggity
1
不必弹出一个窗口,你总是可以弹出一个div。通过适当的样式和合适的事件处理,一个弹出的div几乎可以做到窗口所能做的任何事情。 - user1864610
问问自己,你真的那么需要弹出窗口吗?如果用户不喜欢它们,通常会将其关闭,现在你想让他们回来?只为重要的提醒保留它们,并确保仅在用户没有打开它们时才对其造成影响。毕竟这是他们的选择... - Robert Seddon-Smith
感谢大家的回答,非常感激。弹出窗口是我们主题化或做了一些工作的随机网站,并在单击链接时在新选项卡中打开。因为它会打开一个随机窗口,所以会触发弹出窗口拦截器,因此我想让访问者更容易允许我的网站弹出窗口。正如Robert所说,弹出窗口很烦人,但我的访问者知道这会发生,所以情况并不太糟。我只是希望为访问者提供一个按钮,使他们可以轻松点击以允许弹出窗口。我看到了这个:<a href="#" onclick="allow_popups(); return false;">不起作用。 - user2408368
1个回答

1
为什么不在锚点标签中随机化href呢?
<a href="" id="randLink" target="_blank">Open a random site</a>

当页面首次加载时,想象一下一个jQuery函数会选择其中一个随机站点,并将该链接放在#randLink的href中:
$(document).ready(function() {
    $('#randLink').attr('href',generateRandUrl());
});

并且每次点击时,更改href的值:

$( "#randLink" ).click(function() {
 $('#randLink').attr('href',generateRandUrl());
});

generateRandUrl()是一个函数,返回你网站之一的字符串值


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接