window.open()现在还有用吗?

时间:2015-12-23 00:04:57

标签: javascript

我正在学习JS并偶然发现window.open()函数。当我测试它时,似乎像Chrome这样的主流浏览器会阻止弹出窗口。对我而言,open()的主要功能已不再有用。那么这个功能在目前的实践中仍然有用吗?

2 个答案:

答案 0 :(得分:10)

我认为Chrome只会阻止In [4]: df = pd.DataFrame({'a':np.arange(5), 'b':np.random.randn(5)}, index = list('abcde')) df Out[4]: a b a 0 1.800300 b 1 0.351843 c 2 0.278122 d 3 1.387417 e 4 1.202503 In [5]: idx_list = ['b','d','e'] df.loc[idx_list, 'c'] = np.arange(3) df Out[5]: a b c a 0 1.800300 NaN b 1 0.351843 0 c 2 0.278122 NaN d 3 1.387417 1 e 4 1.202503 2 ,如果它没有用户操作。例如,如果您有一个window.open属性映射到函数的元素...

onclick

这样可行。虽然这.... [/ p>

function clickedButton() {
  window.open(...);
}

不会。

所以是的,如果您能够以弹出窗口仅响应用户操作的方式设置应用程序,它仍然很有用。

虽然由于Jonathan.Brink提到的原因,通常打开新窗口是个坏主意,但我之前使用它们进行身份验证。例如,通过Facebook登录需要使用其URL(iframe不起作用)打开新选项卡或新窗口。当它再次回到我的网站回调时,我关闭窗口,并用新的登录信息更新(响应)网站。关闭新标签感觉......很奇怪。

答案 1 :(得分:3)

对于某些内部应用程序,它可能很有用,但the Mozilla docs建议不要使用它:

  

一般来说,最好避免诉诸   window.open()有几个原因

以下是几个原因:

  • 标签浏览通常首选打开新窗口
  • 可能不适合使用扩展程序/插件
  • 沉重的系统资源