【发布时间】:2019-11-12 22:51:31
【问题描述】:
有没有办法检查当前浏览器是否支持多个选项卡/窗口。由于应用内浏览器,这现在很常见。
【问题讨论】:
-
问题不清楚。想知道浏览器是否支持
window.open()功能? -
如果我们还不想打开一个窗口并根据它显示不同的体验,比如在他们点击之前说“这将在新标签中打开”的消息,该怎么办。
有没有办法检查当前浏览器是否支持多个选项卡/窗口。由于应用内浏览器,这现在很常见。
【问题讨论】:
window.open()功能?
根据mdn window.open docs,如果调用不成功,window.open() 调用应该返回null。
返回值
一个
WindowProxy对象,它基本上是Window的薄包装器 代表新创建窗口的对象,并具有其所有功能 可用的。 如果窗口无法打开,返回值为 而不是null。返回的引用可用于访问属性 新窗口的方法和方法只要符合同源 政策安全要求。
就在不实际尝试打开窗口的情况下检查打开窗口的能力而言,没有可用的 API(据我所知)。您可以再次立即打开和关闭窗口。根据浏览器的不同,用户可能会也可能不会看到新窗口或标签的短暂闪烁。
function window_open_check()
{
w=window.open()
if (w !== null){
w.close()
return true
}
return false
}
// Note:window.open() is blocked in StackOverflow scripts
console.log("window.open available:",window_open_check());
【讨论】: