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

时间:2015-08-07 18:48:33

标签: javascript microsoft-edge

以下代码不适用于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>

它使newwinundefined。然而,window.open()适用于Edge。 任何解释/帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

来自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/

答案 1 :(得分:0)

您可以使用此功能,只需将目标传递给参数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>