如果弹出窗口被阻止,如何获得通知?(HTML JS PHP)
如果弹出窗口被弹出窗口阻止程序阻止,如何获得通知?(需要代码示例)如果弹出窗口被阻止,如何获得通知?(HTML JS PHP),php,javascript,html,popup,window,Php,Javascript,Html,Popup,Window,如果弹出窗口被弹出窗口阻止程序阻止,如何获得通知?(需要代码示例) window.open (URL, windowName[, windowFeatures]); 您打开一个新的弹出窗口,并作为URL放置一些html页面。在弹出的页面中,您可以编写一些JS,在其中可以使用window.opener变量,这样您就可以从主页访问所有JS。 然后,您可以在弹出的页面中设置一些标志-例如: index.html <html> <body> <script t
window.open (URL, windowName[, windowFeatures]);
您打开一个新的弹出窗口,并作为URL
放置一些html页面。在弹出的页面中,您可以编写一些JS
,在其中可以使用window.opener
变量,这样您就可以从主页访问所有JS
。
然后,您可以在弹出的页面中设置一些标志-例如:
index.html
<html>
<body>
<script type="text/javascript">
var opened = false;
window.open('popup.html');
// and here some loop in mooTools/jQuery/or
// something to look up for variable changes
</script>
</body>
</html>
<html>
<body>
<script type="text/javascript">
window.opener.opened = true;
</script>
</body>
</html>
我会这样做的
编辑
下面是使用PHP
的另一种方法:
在您的popup.php
中,您可以在会话中设置一些标志
$_SESSION['opened'] = true;
在
index.php
中,您应该向AJAX
写入一些内容,请求执行一个操作,该操作将从$\u会话中返回一个值简短的回答是,除非您真的想惩罚您的用户,否则您不能这样做
弹出窗口通常使用JavaScript在客户端生成,因此您无法知道弹出窗口是否被服务器阻止,除非您正在查看页面内容请求与来自同一IP的弹出内容请求的比较。这种方法会产生难以置信的误报和漏报,因为如果用户刷新页面,他们可能不会第二次看到弹出窗口,但可能是第一次看到。或者可以生成一个弹出窗口,该窗口中的内容可以独立于页面其余部分的内容加载。因此,唯一合理的解决方案是完全不可靠的
因此,您可以编写一个JavaScript测试来测量是否有一个弹出窗口是从启动JavaScript生成的。当启动JavaScript时,但弹出窗口不立即存在,则必须启动AJAX向您发送警报,以便动态通知您无法加载弹出窗口。但是,如果我曾经看到过这样的代码,我会将您的整个域从我的企业中列入黑名单,并提醒主要的安全公司您是一个恶意网站或已被入侵。通过该循环,这是一个免费的想法-您可以命名弹出窗口并为其添加事件domready
。另外,我认为设置一些超时时间很重要。这取决于您使用的js库。有人能帮我回答这个问题吗?不要使用弹出窗口。就这么简单。