在Javascript术语中New Blank Window和Popup之间有什么区别

时间:2011-03-17 19:16:59

标签: javascript

再次问好StackOverflow社区:

我需要阻止我的网站在传统的弹出式窗口中打开(由于一些防欺诈问题,因为该网站是一个广告网络,并且可以通过在弹出窗口中自动加载广告来进行欺诈)。通过弹出窗口,我的意思是小的浮动窗口打开如:window.open(URL, name, options)。起初我正在检查window.opener属性,例如:

if (window.opener !== null && window.opener !== undefined) {
window.self.close();
}

但显然关闭了一个正常的空白窗口(来自target='_blank'),因此无法在Facebook或Twitter中共享网站,其中外部链接被加载到空白窗口中。 有没有办法知道新窗口何时特别是弹出窗口。我正在考虑执行上面的代码,但检查弹出窗口中通常禁用的属性,如工具栏,状态栏等。示例:< / p>

if (window.toolbar.visible !== true && other window properties are checked) {
window.self.close();
}

这种方法对吗?还可以使用其他什么想法? 非常感谢你的时间。

1 个答案:

答案 0 :(得分:1)

如果你问我,那是一种傻瓜的差事。

  • 不可能排除误报
  • 如果开启者来自不同的域名,大多数浏览器都不会服从window.close()
  • 如果javascript被禁用,则会失败