0

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

我已经在 FF 3+​​ 和 IE8+(有效)中对此进行了测试,但似乎不适用于 Chrome 5+。我只在 Windows 7 中测试过。我的问题是:更改“感叹号”声音是否总是会改变 javascript 警报框播放的声音,例如从 Windows XP - Win7 和所有现代浏览器(不包括 Chrome)?

这是一个简单的警报框进行测试-> http://www.javascripter.net/faq/alert.htm

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

4

2 回答 2

1

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

于 2011-04-06T00:57:38.013 回答
0

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

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

于 2011-04-06T00:55:02.647 回答