Gur*_*epS 6 javascript asp.net chat
可能重复:
测试窗口是否具有焦点
我经常使用的网站有一个在线聊天功能(弹出窗口,非常类似于Facebook).当我的浏览器不在此站点的选项卡上时,会发出警报以警告我收到任何新的聊天消息,并且当我的浏览器不在此站点的选项卡上时,声音不会发生(按设计我假设) .
这是如何实现的?代码(我假设并因此在我的客户端执行的javascript)如何知道我什么时候/不在看网站?
谢谢
基于上面其他评论的综合答案。是的,这主要是一个重复的问题,但它被很好地提出,因此如果有人没有回答它,它将永远保留在未回答的问题库中。对于有此问题的其他人找到此答案,请参阅问题评论中的其他链接主题。
<BGSOUND id="BGSOUND_ID" LOOP=1 SRC="jsilence.mid">
<script type="text/javascript" language="JavaScript">
function onBlur() {
document.body.className = 'blurred';
};
function onFocus(){
document.body.className = 'focused';
};
if (/*@cc_on!@*/false) { // check for Internet Explorer
document.onfocusin = onFocus;
document.onfocusout = onBlur;
}
else {
window.onfocus = onFocus;
window.onblur = onBlur;
}
function playSound(audioURL)
{
if (document.body.className == 'blurred')
{
if (document.all)
{
document.all['BGSOUND_ID'].src=audioURL;
}
else
{
self.iplayer.location.replace('jsplayer.htm?'+audioURL);
}
setTimeout("stopSound();", 500);
}
}
function stopSound()
{
if (document.all)
{
document.all['BGSOUND_ID'].src='jsilence.mid';
}
else
{
self.iplayer.location.replace('jsplayer.htm?stop');
}
}
function NewMessage(message)
{
ShowMessage(message);
playSound('ding.mid');
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果用户使用这些浏览器中的任何一个,此代码将使用 IE 和 opera 的 BGSound 标签来播放声音,否则它假设页面上有一个名为 iplayer 的 iframe 并使用嵌入的第 3 方播放器。详细信息请参阅来源。
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |