检查window.open支持-JavaScript

Check for window.open support - JavaScript

本文关键字:-JavaScript 支持 open window 检查      更新时间:2023-09-26

我正在修复一个关于移动safari上触发window.open的错误。每当发生这种情况时,都会触发一个错误,因为似乎没有定义window或不支持该功能?

我正在考虑采取的方法是检查是否支持window.open。如果是,像正常情况一样打开窗户。如果没有,只需重定向页面。但我该如何检查这种支持?

if (window.open) {
   var helpWindow = window.open('help.htm', 'DBHelp', 'width=800,height=600,left=100,top=100');
} else {
   this.navigateTo('help.htm');
}

这就是我正在尝试的,只是目前URL中有一些伪数据。我该怎么做才是最好的呢?

使用window.open打开一个随机页面并检查body元素。如果它在那里,则页面打开正确,因此支持window.open。

编辑:更好的是,如果调用失败,window.open将返回null。

听起来像是定义了window.open,但它无法打开新窗口。因此,请检查返回值,而不是函数名称。

var helpWindow = window.open('help.htm', 'DBHelp', 'width=800,height=600,left=100,top=100');
if (!helpWindow) {
    this.navigateTo('help.html');
}