【问题标题】:default sound for javascript alert() boxjavascript alert() 框的默认声音
【发布时间】:2011-04-06 00:51:37
【问题描述】:

我注意到 javascript alert() 框会在控制面板 > 声音 > 声音选项卡 > Windows > 感叹号中播放系统声音“感叹号”。因此,更改那里的“感叹号”wav 文件会更改警报框播放的声音。

我已经在 FF 3+​​ 和 IE8+ 中测试过这个(工作),但似乎在 Chrome 5+ 中不起作用。我只在 Windows 7 中测试过。我的问题是:更改“感叹号”声音是否总是会更改 javascript 警报框播放的声音,例如从 Windows XP - Win7 和所有现代浏览器(chrome排除)?

这里有一个简单的警告框供测试 -> http://www.javascripter.net/faq/alert.htm

我想我正在寻找关于警报框如何工作、浏览器如何决定播放哪种声音(或者是操作系统?)以及如何确保跨浏览器的兼容性的更好解释。一些谷歌搜索在这个主题上并不是很有启发性。

【问题讨论】:

  • 在 Linux(使用 Arch)上,我的任何浏览器都听不到任何声音。我不会因为任何严重的事情而依赖它。

标签: operating-system alert system-sounds javascript


【解决方案1】:

它以这种方式工作的原因是他们(至少是 IE)使用 win MessageBox api 来生成弹出窗口,因此更改系统文件会更改所有使用 MessageBox api 的应用程序。 Chrome 肯定不会使用这个 API。因此,要回答您的问题,如果您想要跨浏览器的统一声音,请不要依赖默认设置。

【讨论】:

    【解决方案2】:

    是的,在 Windows 中,使用相同声音的不仅仅是浏览器警报。他们都使用相同的声音文件。

    我猜微软把它放在那里是为了 IE(和其他窗口形式的警报),而 Firefox 劫持了它,因为,为什么不呢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-02
      • 2012-07-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      相关资源
      最近更新 更多