【问题标题】:How to limit how many tabs are being open in Javascript with window.open() [duplicate]如何使用 window.open() 限制在 Javascript 中打开的标签数量 [重复]
【发布时间】:2019-10-24 13:38:29
【问题描述】:

我有一个简单的页面,上面有一个按钮,这个按钮后面有代码,可以在网络浏览器中打开一个新页面/选项卡。 我将以 google.co.uk 为例。

window.open("www.google.co.uk");

这很好用!

但我想知道是否有可能,一旦它被点击并且新标签打开了,有没有办法让它不能被点击? 如果该新选项卡随后关闭,那么您可以重新单击它吗?

(只是为了限制人们不要一直点击它并打开多个标签)

谢谢!

【问题讨论】:

  • 您希望点击跟踪在刷新后保持不变吗?

标签: javascript browser


【解决方案1】:

我有一个解决方案,但如果您希望计数器在刷新时保持不变(让我知道,我将编辑我的答案),您将不得不修改它。我的解决方法是添加一个每次点击按钮时加一的变量,然后查看是否超过了某个值:

let count = 0
const eventListener = () => ((count += 1) < 10/*your max # of clicks*/) ? alert('max # of clicks')/*whatever you want to do*/ : window.open('www.google.co.uk')

或者,如果您正在使用 HTML onclick 属性,并希望它全部位于一行:

<button onclick="(((window.count || window.count = 0) += 1) < 10/*your max # of clicks*/) ? alert('max # of clicks')/*whatever you want to do*/ : window.open('www.google.co.uk')">Open google</button>

此 javascript 将计数变量设置为 0,然后,在每次单击按钮后,它会增加计数器并检查它是否同时大于您的最大点击次数。之后,它会根据它(计数器)是否大于最大数量来执行您想要执行的任何操作。

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 1970-01-01
    • 2014-11-21
    • 2015-09-16
    • 2023-04-11
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2020-09-02
    相关资源
    最近更新 更多