什么';在Javascript术语中,新的空白窗口和弹出窗口之间的区别是什么

什么';在Javascript术语中,新的空白窗口和弹出窗口之间的区别是什么,javascript,Javascript,大家好,社区: 我需要防止我的网站在传统的弹出窗口中被打开(由于一些欺诈预防问题,因为该网站是一个广告网络,可以通过在弹出窗口中自动加载广告来进行欺诈)。我所说的弹出窗口是指像这样打开的小型浮动窗口:window.open(URL、名称、选项)。起初,我正在检查window.opener属性,如: 如果(window.opener!==null&&window.opener!==undefined){ window.self.close(); } 但这显然也会关闭一个正常的空白窗口(从tar

大家好,社区:

我需要防止我的网站在传统的弹出窗口中被打开(由于一些欺诈预防问题,因为该网站是一个广告网络,可以通过在弹出窗口中自动加载广告来进行欺诈)。我所说的弹出窗口是指像这样打开的小型浮动窗口:
window.open(URL、名称、选项)
。起初,我正在检查
window.opener
属性,如:


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

但这显然也会关闭一个正常的空白窗口(从
target=''u blank'
),因此该网站不能在Facebook或Twitter上共享,因为外部链接加载在空白窗口中是否有办法知道新窗口何时是弹出窗口。我想执行上述代码,但检查弹出窗口中通常禁用的属性,如工具栏、状态栏等。示例:


如果(window.toolbar.visible!==true&&检查了其他窗口属性){
window.self.close();
}

这种方法正确吗?还可以使用哪些其他想法?
非常感谢您抽出时间。

如果你问我的话,这是一种愚蠢的差事

  • 无法剔除假阳性
  • 如果开启器来自不同的域,大多数浏览器都不会遵循
    window.close()
  • 如果禁用javascript,则将失败

我认为如果您真的只想让您的域访问该页面,那么为什么不只让您的服务器访问该页面/弹出窗口呢。当然在结构控制内部。。。比如:如果这是弹出窗口,那么执行验证——是我的服务器吗?如果是,则执行,否则拒绝@费尔南多·科斯塔:这不是只限制我的域名访问的问题;事实上,我希望这个网站可以从很多地方访问。这是为了防止欺诈,因为该网站是一个广告网络,欺诈行为可以通过在弹出窗口(甚至可以足够小)中快速自动加载广告来进行。对不起,如果我不清楚这个问题的本质,我非常感谢你的回答。这不一定是傻事。两件事:1)如果Javascript被禁用,那么这个人怎么能够首先通过Javascript打开弹出窗口。2) 至少Firefox和Chrome在从其他域打开时遵守window.close();这就是为什么我在发布Facebook、Twitter和其他网站的链接时遇到麻烦的原因。