微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

window.close不适用于Twitter网站

如何解决window.close不适用于Twitter网站

我有一个打开Twitter URL的代码(window.open()),但我认为Twitter正在清除/擦除我的窗口引用,这就是为什么我无法再控制窗口或使用window.close()关闭它的原因。解决办法是什么?

我尝试进行console.log记录,如果网站加载,则窗口始终为null。 这是代码

var windows = {};

function OpenWindow(id,url,title,w,h,l) {
  $.each(windows,function(index,value) {
    if (windows[index].closed) {
      $('#' + index + '').css("background-color","");
    }
  });

  $('#' + id + '').css("background-color","#F2F5F7");

  // Fixes dual-screen position Most browsers Firefox
  var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
  var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
  width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
  height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

  var left = ((width / 2) - (w / 2)) + dualScreenLeft;
  var top = ((height / 2) - (h / 2)) + dualScreenTop;

  var newWindow = window.open(url,'scrollbars=yes,width=' + w + ',height=' + h + ',top=' + top + ',left=' + l);
  windows[id] = newWindow;

  // Puts focus on the newWindow
  if (window.focus) {
    newWindow.focus();
  }
}

//When I tried to close this window using this function
//It is no longer working and the window is null
function closeWindow(name) {
  var window = windows[name];
  if (window) {
    window.close();
    delete windows[name];
  }
}

解决方法

这是因为 twitter.com 使用“同源” cross-origin-opener-policy标头。

由于您的页面来自不同的来源,因此将创建一个新的顶级浏览上下文,并且您的浏览上下文将始终将这个新的浏览上下文视为已关闭,并且将无法关闭它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?