javascript - 如何关闭用 Javascript 加载后打开的窗口?

标签 javascript dom-events

有没有办法让我在加载后在新窗口中打开链接?

我已经尝试过这两种方法,但窗口不会自行关闭。

方法一:

var winning = window.open("https://google.com/","","width=500,height=500");
winning.onload = function(){
  winning.close();
}:

方法2:

var winning = window.open("https://google.com/","","width=500,height=500");
winning.addEventListener('onload', function(){
  winning.close();
}, false);

我快要疯了。我是否遗漏了一些明显的东西,或者这根本不可能?

最佳答案

您遇到了相同的同源策略。您无法捕获不同来源的文档上的 load 事件(因为它告诉您页面已成功加载,这可能会泄漏诸如“用户已登录到此站点,否则会抛出 Forbidden错误”)。

如果我将 URL 更改为与 JavaScript 出现的页面同源的 URL,那么它就可以工作。

最接近的方法是估计文档加载并使用 setTimeout 关闭它需要多长时间。

关于javascript - 如何关闭用 Javascript 加载后打开的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425694/

相关文章:

javascript - querySelector 事件监听器 `scroll`

javascript - 从 Javascript 库调用的事件

javascript - jquery mobile 无法获取正确的 url

javascript - 检查是否存在类的任何实例

JavaScript keyCode - 单击了哪个键,使用外来键盘布局

javascript - jQuery 销毁 Meteor 中自定义 Polymer 事件的 `detail`

javascript - 将 Markdown 解析为 HTML 并突出显示代码语法

javascript - 菜单项可以单独着色吗?

javascript - 某种 "method"用于读取元素是在两页还是一页上

javascript - 如果组件的 DOM 元素的宽度发生变化,如何调用函数? ( Angular 4)