Javascript - window.close,self.close,parent.close,无效关闭窗口,Google Chrome中的标签

时间:2017-04-15 23:44:50

标签: javascript google-chrome firefox opera microsoft-edge

FAIL:

  • 镀铬窗口/标签未关闭

代码:

<script>
function callKiller() {
  window.close();
  self.close();
  parent.close();

  setTimeout(function() { 
    try { 
      window.close(); 
      self.close(); 
      parent.close()
    }catch(e) {
      console.log(e, 'idiot browsers, why you cant kill it you idiot'); 
    } 
  }, 10000);
}
</script>

<!--

  Plugin:

    - Detect iOS?, Android !Chrome
    - Safari?
    - IE or IE EDGE??? 

  Then close the window, Cause no service cant be offered                          
-->
<body onLoad=callKiller(); >
  Sorry, we cant offer you any service. 
    Safari do not have WebRTC and they wont have it anytime sooner. 
    IE Edge do not have WebRTC. Its ORTC not WebRTC. 
    Read the Wiki
    iOS we have no time, for you to write everything in Objective-C, go learn yourself Objective-C

1 个答案:

答案 0 :(得分:1)

这是很久以前安装到chrome中的安全功能。

为了使用close()功能:

  

如果满足以下所有条件,则Window对象上的Pattern patronGoogle = Pattern.compile("(<\\/font><br><font\\b|(?!^)\\G)[^>]*?\\b(size)=\"-1\">([>]?)([^<]*)\\3"); Matcher mGoogle = patronGoogle.matcher(description); if (mGoogle.find()) { System.out.println("Only the Text of the Google RSS: " + mGoogle.group(4)); } 方法应该关闭浏览上下文A:

     
      
  • 相应的浏览上下文A可以通过脚本关闭。

  •   
  • 现有脚本的浏览环境熟悉浏览环境A

  •   
  • 允许现有脚本的浏览上下文导航浏览上下文A.

  •   
     

如果浏览上下文是由脚本创建的辅助浏览上下文(而不是用户的操作),或者如果它是一个其会话历史记录仅包含一个Document的浏览上下文,则浏览上下文可以关闭脚本。

所以你基本上不能使用javascript来关闭一个没有被页面内的javascript打开的窗口。

了解更多here.

我的建议是将访问者重定向到另一个页面。