javascript alert() 框的默认声音
Posted
技术标签:
【中文标题】javascript alert() 框的默认声音【英文标题】:default sound for javascript alert() box 【发布时间】: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)上,我的任何浏览器都听不到任何声音。我不会因为任何严重的事情而依赖它。 【参考方案1】:它以这种方式工作的原因是他们(至少是 IE)使用 win MessageBox api 来生成弹出窗口,因此更改系统文件会更改所有使用 MessageBox api 的应用程序。 Chrome 肯定不会使用这个 API。因此,要回答您的问题,如果您想要跨浏览器的统一声音,请不要依赖默认设置。
【讨论】:
【参考方案2】:是的,在 Windows 中,使用相同声音的不仅仅是浏览器警报。他们都使用相同的声音文件。
我猜微软把它放在那里是为了 IE(和其他窗口形式的警报),而 Firefox 劫持了它,因为,为什么不呢。
【讨论】:
以上是关于javascript alert() 框的默认声音的主要内容,如果未能解决你的问题,请参考以下文章
javascript alert和confirm怎么在HTML里面使用