我正在学习JS并偶然发现window.open()
函数。当我测试它时,似乎像Chrome这样的主流浏览器会阻止弹出窗口。对我而言,open()
的主要功能已不再有用。那么这个功能在目前的实践中仍然有用吗?
答案 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()有几个原因
以下是几个原因: