可能重复:
如何找出哪个DOM元素具有焦点?
有没有办法在javascript中确定哪个html页面元素有焦点?
如何使用JavaScript或jQuery检测哪个表单输入具有焦点?
在函数中,我希望能够确定哪个表单输入具有焦点.我希望能够在直接的JavaScript和/或jQuery中执行此操作.
当我激活Firefox中的标签时,Google会检查通知更新
每次激活它都会显示"0",但在此之后的几秒钟内会更改为一些新通知.
什么是允许进入该事件的机制?是否有特定的DOM事件?或者他们是否使用onmouseover处理程序之类的东西,并且只考虑任何类型的活动是标签激活的充分指标?
可能重复:
测试窗口是否具有焦点
我经常使用的网站有一个在线聊天功能(弹出窗口,非常类似于Facebook).当我的浏览器不在此站点的选项卡上时,会发出警报以警告我收到任何新的聊天消息,并且当我的浏览器不在此站点的选项卡上时,声音不会发生(按设计我假设) .
这是如何实现的?代码(我假设并因此在我的客户端执行的javascript)如何知道我什么时候/不在看网站?
谢谢
在我的网站上,我有一个重要的通知,提示本机警报(),以便在窗口尚未聚焦时将网站置于前台.问题是在某些浏览器上,如果用户在另一个桌面应用程序(Photoshop,Microsoft Word等)中,则不会将浏览器置于该应用程序之上.在这种情况下,警报几乎没用,我想省略它(因为它阻止了我页面上的其他脚本).
有没有办法告诉浏览器是设备上的活动应用程序?或者是否有一种不同的,无阻塞的方式将窗口带到前台?
谢谢!
澄清:我已经知道如何检查浏览器中的窗口是否处于活动状态,但我不知道如何检查浏览器应用程序本身是否处于活动状态.此外,我需要支持的浏览器是Chrome,Safari,Firefox和IE> = 9
问题是,我正在制作一个类似聊天的程序,需要知道用户是否已离开窗口,还是更改为另一个窗口或标签,以允许其他用户看到其他用户现在没有看到该页面.
我认为窗口事件焦点会解决我的问题,然而,它有一些问题.第一:它不会仅在用户离开窗口时触发,如果它们专注于输入字段,然后单击页面中的任何其他位置,则事件将触发.显然这是无法忍受的.我在Firefox中管理过这种方式.在Firefox上,当发生这种情况时,浏览器会触发一次focusout事件.如果你真的离开窗户,它会发射两次.所以,一点编程就变成了魔术.
然后是第二个问题:Chrome,我相信其他浏览器的行为可能相同,只会触发一次焦点事件,无论你做什么.离开窗口,将焦点从输入改为页面,它是一样的,所以,我的编程没有在那里工作.
有没有人知道模拟所需行为的方法?或者让Chrome和其他可能的浏览器表现得像Firefox或其他什么?
感谢大家!
如果用户在实际的选项卡/页面上,是否可以在javascript中执行javascript?
就像他切换到另一个选项卡一样,javascript进程将暂停,当他返回选项卡时,javascript将继续该过程.
好吧,我在解决这个问题时遇到了麻烦,我是一名 php / C# Web 开发人员,并且没有 Javascript 的经验或知识,我必须做这一件需要 Javascript 的事情:
当加载某个页面时,计数器就会启动。客户必须在此页面停留 20 秒。之后,我想执行php代码。
因此,有两个问题与我有关,第一:如果客户端离开页面(意味着页面没有焦点),我如何停止计数器。
2)如何在javascript中执行php?,或者从 Javascript 调用 php 函数。
到目前为止我的代码是这样的:
<html>
<head>
</head>
<body>
<div id='timer'>
<script type="text/javascript">
COUNTER_START = 20
function tick () {
if (document.getElementById ('counter').firstChild.data > 0) {
document.getElementById ('counter').firstChild.data = document.getElementById ('counter').firstChild.data - 1
setTimeout ('tick()', 1000)
} else {
document.getElementById ('counter').firstChild.data = 'done'
}
}
if (document.getElementById) onload = function () {
var t = document.createTextNode (COUNTER_START)
var p = document.createElement ('P')
p.appendChild (t)
p.setAttribute …Run Code Online (Sandbox Code Playgroud)