Javascript 按窗口返回的引用。在边缘浏览器中未定义open()

Javascript 按窗口返回的引用。在边缘浏览器中未定义open(),javascript,microsoft-edge,Javascript,Microsoft Edge,下面的代码不适用于Edge,尽管它适用于其他浏览器 功能后链接(locn,trgt){ a=document.createElement(“a”); a、 id='link'; a、 targt=trgt; a、 href=locn; var newwin=窗口打开(a); newwin.opener=newwin; } 从窗口中单击我。打开()文档: 语法: 打开(URL、名称、规格、替换) 那么,为什么不将代码简化为: <a onclick="window.open('http:/

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

功能后链接(locn,trgt){
a=document.createElement(“a”);
a、 id='link';
a、 targt=trgt;
a、 href=locn;
var newwin=窗口打开(a);
newwin.opener=newwin;
}
窗口中单击我。打开()
文档:

语法: 打开(URL、名称、规格、替换)

那么,为什么不将代码简化为:

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

窗口打开()
文档:

语法: 打开(URL、名称、规格、替换)

那么,为什么不将代码简化为:

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

您可以使用此函数,只需将目标传递给参数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>
函数打开窗口(url,name=“_blank”,宽度=400,高度=600,顶部=25,左侧=25){
打开(url,名称,'工具栏=0,位置=0,菜单栏=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>
函数打开窗口(url,name=“_blank”,宽度=400,高度=600,顶部=25,左侧=25){
打开(url,名称,'工具栏=0,位置=0,菜单栏=0,顶部='+顶部+',左侧='+左侧+',宽度='+宽度+',高度='+高度);
}
点击我

我认为不能将
元素作为参数传递给该函数。它最多需要三个字符串。另外,我认为通过在
元素上设置
target=''blank'
,只需将
href
设置为google.com,就可以更好地完成您正在做的事情,因此不需要javascript。因为,代码适用于其他浏览器。我想我们能做到。此外,实现是其他大型程序的一部分,但它在这段特定代码中处于中断状态。感谢您的快速回复。我得到了InvalidAccessError:Firefox中的底层对象不支持参数或操作。为什么在
a
之前没有
var
关键字?而且,
Open
显然是未定义的。你的意思是
打开
。除了边缘浏览器之外,它在这里正常工作,没有任何错误。我无法回答为什么某些未定义的行为(传递错误的参数类型)会起作用,但对它不工作的解释(同样,错误的参数类型)对我来说是有意义的。你有什么理由对以无文件记录的方式做这件事感兴趣吗?浏览器经常试图温和地接受不好的数据/方法,但它们从来都不是必需的。我不认为可以将
a
元素作为参数传递给该函数。它最多需要三个字符串。另外,我认为通过在
元素上设置
target=''blank'
,只需将
href
设置为google.com,就可以更好地完成您正在做的事情,因此不需要javascript。因为,代码适用于其他浏览器。我想我们能做到。此外,实现是其他大型程序的一部分,但它在这段特定代码中处于中断状态。感谢您的快速回复。我得到了InvalidAccessError:Firefox中的底层对象不支持参数或操作。为什么在
a
之前没有
var
关键字?而且,
Open
显然是未定义的。你的意思是
打开
。除了边缘浏览器之外,它在这里正常工作,没有任何错误。我无法回答为什么某些未定义的行为(传递错误的参数类型)会起作用,但对它不工作的解释(同样,错误的参数类型)对我来说是有意义的。你有什么理由对以无文件记录的方式做这件事感兴趣吗?浏览器经常试图温和地接受不好的数据/方法,但它们从来都不是真正需要的。我不能这样做,因为这是一段可配置的代码,适用于用户可以选择目标类型的大型程序。我不能这样做,因为这是一段可配置的代码,适用于用户可以选择目标类型的大型程序。