Edge浏览器中window.open()返回的引用未定义

Reference return by window.open() is Undefined in Edge browser

本文关键字:返回 引用 未定义 浏览器 window open Edge      更新时间:2023-09-26

下面的代码不适用于Edge,尽管它适用于其他浏览器。

function postLink(locn, trgt) {
  a = document.createElement("a");
  a.id = 'link';
  a.targt = trgt;
  a.href = locn;
  var newwin = window.open(a);
  newwin.opener = newwin;
}
<a onclick="postLink('http://www.google.com','_blank');return false;">ClickMe</a>

给出newwin = undefined。然而,window.open()适用于Edge。

来自window.open()文档:

的语法:window.open (URL,名称,规格,取代)

http://www.w3schools.com/jsref/met_win_open.asp

那么,为什么不把你的代码简化成这样呢:

<a onclick="window.open('http://www.google.com','_blank');">ClickMe</a>
https://jsfiddle.net/3aaLjjoh/

您可以使用这个函数,并简单地将目标传递给参数2。

function openWindow(url, name = "_blank", width = 400, height = 600, top = 25, left = 25) {
    window.open(url, name, 'toolbar=0,location=0,menubar=0,top=' + top + ',left=' + left + ',width=' + width + ',height=' + height);
}
<a onclick="openWindow('http://www.google.com','_blank');">ClickMe</a>