我 正在 开发 一 个 MVC4 网络 应用 程序 。我 使用 javascript 和 jquery 做 很多 事情 。 但是 对于 这样 的 信息 :
我 使用 alert ( ) 函数 向 用户 显示 各种 消息 。 问题 是 , 用户 可以 阻止 这些 消息 出现 。 如果 用户 这样 做 , 许多 重要 的 消息 和 信息 就 不会 显示 给 他 。
对不起 , 我 的 英语 不 好 。 谢谢
a9wyjsp71#
编号您 无法 阻止 用户 停止 显示 提醒 。警报 非常 烦人 :
提醒 * * 属于 浏览 器 * * 而 不是 网站 。 同样 , 避免 prompt 和 confirm ( 确认 有 * a * 合法 用例 ) 。此外 , 为了 证明 这 一 点 - 这 是 不 可能 的 从 userland JavaScript 。 为了 证明 这 一 点 , 让 我们 检查 the source code 负责 :内部 void WebContentsImpl::RunJavaScriptMessage
prompt
confirm
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 " 。
suppress_this_message
考虑 用 modals 代替 。 它们 在 设计 上 更 明智 。情态 动词 有 :
但 如何 做到 呢 ?
position:fixed
position:absolute
许多 流行 的 框架 , 如 jQueryUI come with modals 。
tp5buhyn2#
你 不能 ... 感谢 上帝这 是 由 许多 不同 的 浏览 器 实现 的 , 因为 网页 会 向 用户 发出 大量 ( 或 数百 个 ) 警告 , 迫使 他们 关闭 每 一 个 警告 , 直到 你 可以 关闭 窗口 ( 或 你 ctrl + alt + del 并 关闭 浏览 器 ) - - 参见 which you decide 。作为 使用 咆哮/toast 消息 或 某种 形式 的 对话 框 ( 如 jQuery-UI 对话 框 ) 的 替代 方式 。 此外 , 按照 今天 的 标准 , 使用 alert() 是 一 种 过时 的 提示 用户 的 方式 ( 考虑 到 有 太 多 的 其他 选项 可用 ) 。
alert()
3zwtqj6y3#
您无法禁用此行为。如果用户看到您的所有通知是至关重要的,请不要使用alert(),而使用模态窗口。
brjng4g34#
您无法阻止用户禁用该功能,而应考虑使用类似www.example.com的内容http://jqueryui.com/dialog/#modal-messagejQueryUI包含在.net MVC4模板中:D
pw136qt25#
你无法阻止这个复选框的存在。这是浏览器中的一个功能,当网站过度使用提醒时,用户可以选择阻止提醒。你也无法阻止用户选中这个复选框,但如果你的信息对他们足够重要,他们肯定不会选中。你应该考虑使用模态窗口,因为你可以根据自己的喜好设置它们的样式,而且它们不会阻止脚本/锁定该选项卡上的浏览器。
mnowg1ta6#
你不应该使用alert来显示你的用户的重要信息。相反,应该显示网页本身的信息。有很多插件,库等可以帮助你。一个例子是Bootstrap http://getbootstrap.com/components/#alerts-default
zy1mlcev7#
用户 可以 停止 显示 这些 警报 。但是 , 您 可以 检测 这些 警报 是否 显示 :
const start = Date.now(); const question = "Are you sure?"; const confirmed = window.confirm(question); const duration = Date.now() - start; if (duration < 10) { // Confirm dialog is disabled } else { // Handle confirmed }
中 的 每 一 个
7条答案
按热度按时间a9wyjsp71#
编号
您 无法 阻止 用户 停止 显示 提醒 。
警报 非常 烦人 :
提醒 * * 属于 浏览 器 * * 而 不是 网站 。 同样 , 避免
prompt
和confirm
( 确认 有 * a * 合法 用例 ) 。此外 , 为了 证明 这 一 点 - 这 是 不 可能 的 从 userland JavaScript 。 为了 证明 这 一 点 , 让 我们 检查 the source code 负责 :
内部
void WebContentsImpl::RunJavaScriptMessage
中 的 每 一 个
当 您 单击 该 复选 框 时 ,
suppress_this_message
将 被 设置 为 " true " 。# # 可以 做 些 什么 ?
考虑 用 modals 代替 。 它们 在 设计 上 更 明智 。
情态 动词 有 :
但 如何 做到 呢 ?
position:fixed
, 或 使用 JavaScriptposition:absolute
)许多 流行 的 框架 , 如 jQueryUI come with modals 。
tp5buhyn2#
你 不能 ... 感谢 上帝
这 是 由 许多 不同 的 浏览 器 实现 的 , 因为 网页 会 向 用户 发出 大量 ( 或 数百 个 ) 警告 , 迫使 他们 关闭 每 一 个 警告 , 直到 你 可以 关闭 窗口 ( 或 你 ctrl + alt + del 并 关闭 浏览 器 ) - - 参见 which you decide 。
作为 使用 咆哮/toast 消息 或 某种 形式 的 对话 框 ( 如 jQuery-UI 对话 框 ) 的 替代 方式 。 此外 , 按照 今天 的 标准 , 使用
alert()
是 一 种 过时 的 提示 用户 的 方式 ( 考虑 到 有 太 多 的 其他 选项 可用 ) 。3zwtqj6y3#
您无法禁用此行为。如果用户看到您的所有通知是至关重要的,请不要使用alert(),而使用模态窗口。
brjng4g34#
您无法阻止用户禁用该功能,而应考虑使用类似www.example.com的内容http://jqueryui.com/dialog/#modal-message
jQueryUI包含在.net MVC4模板中:D
pw136qt25#
你无法阻止这个复选框的存在。这是浏览器中的一个功能,当网站过度使用提醒时,用户可以选择阻止提醒。你也无法阻止用户选中这个复选框,但如果你的信息对他们足够重要,他们肯定不会选中。
你应该考虑使用模态窗口,因为你可以根据自己的喜好设置它们的样式,而且它们不会阻止脚本/锁定该选项卡上的浏览器。
mnowg1ta6#
你不应该使用alert来显示你的用户的重要信息。相反,应该显示网页本身的信息。有很多插件,库等可以帮助你。一个例子是Bootstrap http://getbootstrap.com/components/#alerts-default
zy1mlcev7#
用户 可以 停止 显示 这些 警报 。
但是 , 您 可以 检测 这些 警报 是否 显示 :
中 的 每 一 个