JS:从回调函数打开新标签页(在新窗口中打开,而不是新标签页)

3
window.open(window.location + 'pdf?' + Ext.urlEncode(params));

当我从计划代码中调用它时,它会在新标签页中正常打开。但是,当我想从回调(与服务器的交互)中打开它时,它希望在新窗口中打开(而不是标签页)。如何解决?

我有一个Api类。当我执行

Api.getDetail( function (response) { ... })

它会发送到服务器,然后处理回调。我需要从这个回调函数中调用窗口。


你能创建一个测试用例吗?我不明白。 - kapa
2个回答

4
解决方案:我们需要在回调函数之前创建窗口:var win = window.open。然后在回调函数中,我们可以更改此窗口的位置。

我没有代码示例就迷失了:你不能在window.open中传递参数吗?回调后如何更改位置? - Alex

0

这是浏览器的行为,您无法控制它。

window.open 可能会在您的浏览器中在新标签页中打开,但不能保证它会对其他用户执行相同的操作。


我说,在同一个代码和同一个浏览器中,相同的命令会打开不同的窗口和标签页。 - nkuhta
是的,这已经够奇怪了。但如果你认为你可以控制其他浏览器/环境/用户的话,那就真的很糟糕了。 - primavera133

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接