在Firefox中,window.open(url,windowname,opts)在新选项卡中打开而不是新窗口。

3

似乎是(请在 jsfiddle 上尝试)

window.open('http://www.google.com/', window_name, 'width=400,height=320');

完全停止在Firefox中打开新窗口,无论您将window_name设置为什么(_blank,任何其他名称)!这一定在不久前(一年前)有效,但现在已经停止工作了!这一定是Firefox过去的一些相当新的变化所致,此问题的答案证明了这一点-它们以前可以工作,但现在不再工作!
我的怀疑是,它停止工作是因为选项“在新标签页中打开新窗口”(工具/选项/选项卡)现在默认为true!这一定是最近的变化。
我的用例确实需要打开一个只有传说的小简单窗口-为此打开新标签页太过浪费了。 问题在于它是默认设置,普通用户不知道这个设置-他们只看到网站表现奇怪! 有没有办法覆盖Firefox的行为?

5
天啊,@minitech,你看了我的问题吗?请先阅读它,看看为什么它不是重复的!我甚至引用了它!! - Tomas
1
我有一个问题。你知道,旧问题并没有消失。如果其他解决方案不起作用,可以在问题上设置赏金或其他东西。这是同一个问题 - Ry-
@minitech,如果您阅读所链接问题的第一行,它是关于 window.open(url) 的,而我的问题是关于 window.open(url, window, opts) 的,这里有一个很大的区别! 这个问题是关于更具体的情况,解决了以前的问题,但现在停止工作!! - Tomas
好的。那就在上面设置一个赏金,表示当前的答案已经过时了。这就是它的作用。 - Ry-
我刚刚试图向您解释,实际上它是相同的。如果您愿意,我可以为您设置赏金。唉。 - Ry-
显示剩余2条评论
2个回答

9

您的代码片段中并没有包含您所发布的代码。这个链接里的代码可以正常运行:http://jsfiddle.net/HLbLu/

请注意,由于某些原因,调用window.open(...)与调用open(...)不同。


1
太好了!你让我的一天变得美好了。我把所有的 open 调用都替换成了 window.open,它现在能正常工作了!!可能是 Firefox 最近做了一些改变,因为直到现在我一直只用 open... - Tomas
但是现在我完全困惑了!openwindow.open怎么可能不一样?看看这个例子:http://artax.karlin.mff.cuni.cz/~ttel5535/pok_js/window.html - Tomas
我在这里发布了一个独立的问题。 - Tomas
@Pumbaa80,open和window.open有什么不同? - Atif
@AtifMohammedAmeenuddin 请查看Tomas的后续问题 - user123444555621
说实话,借鉴了 https://dev59.com/BmLVa4cB1Zd3GeqPty6O#9962027 的建议 - https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Avoid_resorting_to_window.open() 建议:“一般来说,因为若干原因最好避免使用 window.open() :…” - Graham Perrin

0

我不确定这些链接是否真正回答了所提出的问题。 - Andrew Leach

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