提示是重复使用现有弹出窗口还是创建新窗口

Prompt whether to re-use an existing popout window or create a new one

本文关键字:窗口 创建 新窗口 提示      更新时间:2024-03-09

我应该先说一句,我对javascript几乎一无所知,除了这种非常罕见的情况外,我真的不打算太多使用它。因此,请原谅我没有尝试了解更多关于它的信息,以便尝试为自己解决这个问题。

情况:

我经常喜欢使用弹出式浏览器窗口。为了做到这一点,我在浏览器中创建了一个书签,其中包含我从某个地方复制的一小段Javascript——我记不清在哪里了——并根据我的屏幕进行了调整:

javascript:%20var%20WindowPopup%20=%20window.open(window.location.href,'PopUp','left=1150,top=830,width=660,height=410,scrollbars=yes,location=no,status=no');

问题:

按照目前的情况,当有一个现有的弹出窗口,并且我再次选择书签时,如果我在同一个网站,则会重复使用同一个弹出窗口,否则会创建一个新的弹出窗口。但在很多情况下,我都想推翻这种默认行为。

三个问题:

  1. 如何强制弹出窗口始终在新窗口中打开?

  2. 如何强制弹出窗口始终重用现有窗口?

  3. 结合前面两个选项:是否可以检测是否存在现有的弹出窗口,并提示我是要重用它还是打开一个新窗口?

我们将非常感谢你的帮助。

bookmarklet中的字符串"PopUp"是弹出窗口的名称。如果您使用相同的名称创建另一个弹出窗口,则已打开的窗口将被重用
如果你想绕过这种行为,你必须每次创建一个具有唯一名称的弹出窗口。

以下bookmarklet代码将在弹出窗口的名称后附加一个时间戳,创建一个唯一的名称:

javascript:%20var%20WindowPopup%20=%20window.open(window.location.href,'PopUp'+Date.now(),'left=1150,top=830,width=660,height=410,scrollbars=yes,location=no,status=no'); 

除非你在一毫秒内打开多个弹出窗口,否则这应该有效。