【问题标题】:exit while loop in javascript when the user hits dont show alert again [duplicate]当用户点击时退出javascript中的while循环不再显示警报[重复]
【发布时间】:2015-10-27 13:12:11
【问题描述】:

我想显示这样的警报

  while(1){alert("safdf");}

当用户点击时不再显示此警报。我想将用户重定向到 url="xyz.com"。像这样。

  <script type="text/javascript">

 function ialerts_crash()

 {

while(1){alert("safdf");}
window.location.href = 'example.com';
 if(what to put here to exit when user hits dont show this alert again){return ;}

}

ialerts_crash();

</script>

我想知道如何破解;当用户点击“不再显示此警报”时的 while 循环。

【问题讨论】:

  • @Dane 实际上break 用于中断循环。 return 会留下一个循环,但也会退出包含函数。并不总是可取的。
  • 这一定很烦人..
  • 我看不到持续的警报消息有什么好处,除了让用户发疯......!?
  • 好吧,“关闭此警报”复选框是浏览器的最后一道保护措施,以防止错误的脚本让用户发疯。您不应该弹出这么多警报以首先触发此功能,也不能以任何方式与此复选框进行交互。

标签: javascript loops while-loop


【解决方案1】:

当用户点击时不再显示此警报。

不再显示此警报”不是脚本可以回读的反馈选项。它只是一个浏览器功能,允许用户消除烦人的警报。

所以你真正想要的是使用window.confirm。它返回一个布尔值,您可以在循环的中断条件中使用它。

var msg = "You will be redirected. There's ";
while (!confirm(msg + "no way out."))
    msg += "really ";
location.href = 'example.com';

【讨论】:

  • 当我点击确定时重定向到 example.com,当用户点击取消或选中“不再显示此消息”时它不会重定向。但这很有帮助!我知道在哪里可以使用 window.confirm。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 2012-03-14
  • 1970-01-01
  • 2022-01-13
相关资源
最近更新 更多