我想确定使用jquery或javascript,即用户是否在同一浏览器上切换了标签?
即如果用户当前站在浏览器上说mozilla-firefox选项卡1号,现在他已经打开了另一个选项卡,表示选项卡2,此时会出现一个弹出窗口,其中显示消息"tab changed changed"
目前我的网站每隔10秒自动重新加载一个javascript函数,setInterval( "checklatestmsgidLive();", 10000 );我认为即使用户在其他标签上查看其他网站,该功能仍将继续重新加载该功能.如何让它只在用户查看我的网站时重新加载功能?javascript可以检测用户是否正在查看我的网站?
我看到facebook.com墙只在我查看页面时更新新帖子,当我在其他标签上时,它不会更新新帖子.怎么做?
如何在活动选项卡中检查页面是否已打开?当用户离开标签时,我想在我的网站上静音视频.目前我正在使用:
$(window).on('focus', function() {
$("video").prop('muted', false);
});
Run Code Online (Sandbox Code Playgroud)
但是当用户点击地址栏时,视频会被静音,因此这是意料之外的.我可以避免这种行为吗?最好的解决方案就像在这个网页上:http://volkswagen-sportscars.fr/cars/当用户在浏览器中打开其他标签时,声音会顺利关闭.这个怎么做的?
我想在用户不使用chrome时(例如5分钟后)激活一个方法,并在用户激活时触发另一个方法.这该怎么做?
我目前正在使用以下代码在Google Chrome中显示桌面通知:
new Notification(data.sender.displayName, {
icon: '/images/logo.png',
body: data.content,
});
Run Code Online (Sandbox Code Playgroud)
这适用于聊天应用程序,在与聊天相同的页面上显示通知是没有意义的.如何才能使选项仅在选项卡处于非活动状态或窗口失焦时才显示通知?
谢谢!
我刚刚了解了onfocusout,onfocusin但是这些功能似乎不起作用。我尝试使用Firefox和Chrome。根本没有控制台消息,即使当我集中精力并松开它时也是如此。我究竟做错了什么?
window.addEventListener
(
"onfocusout",
function()
{
console.log("page lost focus");
}
);
window.addEventListener
(
"onfocusin",
function()
{
console.log("page has focus");
}
);Run Code Online (Sandbox Code Playgroud)
<h1>Test</h1>Run Code Online (Sandbox Code Playgroud)
好吧,我在解决这个问题时遇到了麻烦,我是一名 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) 我想在浏览器选项卡处于非活动状态或最小化时停止计时器,但问题是当我更改浏览器选项卡或最小化并最大化浏览器选项卡后,计时器的计数在窗口正文中显示两次。请提出解决方案
var window_focus;
$(window).focus(function() {
window_focus = true;
startCount();
});
$(window).blur(function() {
window_focus = false;
stopCount();
});
var c = 0;
var t;
var timer_is_on = 0;
function timedCount()
{
c = c+1;
t = setTimeout(function(){timedCount()},1000);
}
function startCount()
{
if (!timer_is_on)
{
timer_is_on=1;
timedCount();
}
}
function stopCount()
{
clearTimeout(t);
timer_is_on=0;
$('body').append('count' + c + '<br>');
}
Run Code Online (Sandbox Code Playgroud) 我意识到这是大多数操作系统中的程序切换器键组合.是否有可能通过JavaScript在网页中捕获此类事件?