代码之家  ›  专栏  ›  技术社区  ›  Francesco

是否可以在模式窗口中转换所有JS警报消息?

  •  1
  • Francesco  · 技术社区  · 16 年前

    我在一个旧网站上工作,我会避免搜索和替换,我想知道是否可以获得所有警报按摩功能

    alert('some msg');
    

    使用jquery模式窗口…

    我不是在问如何创建模式窗口,而是能否创建一个原型来替换函数警报。

    谢谢

    2 回复  |  直到 16 年前
        1
  •  4
  •   vassilis    16 年前

    您可以覆盖警报:

     window.alert = function(txt) {
        // Custom handler here
     }
    

    但请注意,这将是非阻塞的。警报后的代码将在不等待的情况下执行。

        2
  •  3
  •   Matti Virkkunen    16 年前

    alert 特别是在用户响应弹出窗口之前,它会一直阻塞。一般来说,在JS中,这是一个很大的“不”,因为如果你阻塞了,你将阻塞整个用户界面。这排除了使用jquery模式弹出窗口直接替换 警觉的 . 您需要修改软件以使用回调而不是同步警报。(大多数)JS是基于事件和单线程的,实际上没有办法解决这个问题。

    有一个函数调用 showModalDialog 它显示了一个模式弹出窗口(我们都讨厌的那种),但差不多就是这样。它起源于IE,但正如Pekka指出的那样,它也在firefox 3或更新版本中实现,并且基于一个快速的谷歌搜索webkit,似乎对它也有一些支持。不过,它仍然不是一个整洁的页面弹出窗口。