javascript - 不允许用户停止 javascript alert()

标签 javascript jquery

我正在开发 MVC4 网络应用程序。

我在很多方面都使用 javascript 和 jquery。但是对于这样的信息:

enter image description here

我使用 alert() 函数向用户显示各种消息。 问题是,用户可以阻止此警报的出现。如果用户这样做,很多重要的消息和信息将不会显示给他。

我怎样才能使用户无法阻止警报的出现?

抱歉我的英语不好。谢谢

最佳答案

没有。

您无法阻止用户停止显示提醒。

警报很烦人:

  • 他们无论如何都会流行并抢走焦点
  • 他们会停止您在页面上所做的一切

警报属于浏览器,而不是网站。同样,避免提示确认(确认有合法用例)。

此外,只是为了证明这一点——从用户态 JavaScript 是不可能的。为了证明这一点,让我们检查一下 the source code负责人:

内部 void WebContentsImpl::RunJavaScriptMessage

if (suppress_this_message) {
    // If we are suppressing messages, just reply as if the user immediately
    // pressed "Cancel".
    OnDialogClosed(rvh, reply_msg, false, string16());
}

反过来,当您单击复选框时,suppress_this_message 被设置为“true”。

可以做什么?

考虑使用 modals反而。他们的设计更明智。

模态是:

  • 页面内部
  • 不要阻止执行
  • 让您控制他们如何查看浏览器的完整程度和跨浏览器的方式、关闭方式以及与页面的交互方式。

但是如何呢?

  • 创建一个具有固定位置的元素(css position:fixed ,或使用带有 position:absolute 的 JavaScript)
  • 将其显示设置为隐藏,并将其设置为类似于“警报”窗口的样式,但样式应适合该站点。
  • 在单击按钮时显示它,您可能还想使屏幕的某些部分变暗。
  • 当用户点击关闭时,将其显示 css 属性设置为隐藏。

许多流行的框架,如 jQueryUI come with modals .

关于javascript - 不允许用户停止 javascript alert(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956331/

相关文章:

javascript - nextElementSibling/nextSibling 的可移植性

javascript - 当我随机化银行变量时,bankMoney 变为 NaN

javascript - jQuery Panzoom 包含 : 'invert' inside a container with a fixed width

java - Mongodb 未知错误?

javascript - 在 HTML 表格中标记最高和最低值

javascript - jQuery/Javascript 延迟执行一个函数,直到几个函数完成

javascript - 如何用字形替换数据切换文本? (使用 Rails 和 JS)

jquery - 应用程序再次关闭我打开我的应用程序它再次创建数据库

java - 获取乔德·杰瑞 : NoClassDefFoundError - jodd/exception/UncheckedException

javascript - 根据 C-Sharp 的 HTML Onclick 参数