当窗口处于活动状态时执行脚本
如何才能在浏览器选项卡/窗口处于活动状态时仅执行一次该功能?当窗口处于活动状态时执行脚本
$(function(){
noty({text:'Here is my text',type:'error'});
return false;
});
如果我使用:执行
$(window).one('focus', function(){
的功能,但只有当我离开的标签,再回来。
任何想法?
非常感谢
你是什么意思是'主动'?
如果您需要在加载后只调用一次该函数,则可以使用load
事件或带有jQuery的ready
。
如果每次选项卡处于活动状态,则当用户位于选项卡上,并且鼠标将焦点放在文档上时,可以使用focus
事件。
let activated = false;
window.addEventListener('focus', function() {
if(!activated) {
console.log('test');
activated = true;
}
})
嗨sheplu,我需要的是显示功能如果窗口处于活动状态。如果你打开一个新的窗口/标签,该功能不会出现,直到你去标签。 – Playinteractive
确定,因此只有当用户进入您的页面时才需要触发该功能。那么你可以使用焦点,如果情况下,检查是否你第一次使用网站 – sheplu
我sheplu,如果我刷新窗口不起作用! “加载”和“焦点”可能有效吗? – Playinteractive
如果使用load事件,它将在页面加载时触发。
$(document).ready(() => {
$(window).on('load',() => {
noty({ text: 'Here is my text', type: 'error' });
});
});
嗨kemotoe,如果我打开一个新的窗口/选项卡,即使选项卡处于活动状态,该功能也会执行......我只希望在选项卡处于活动状态时执行该选项。 – Playinteractive
也许,它可以帮助https://stackoverflow.com/questions/1760250/how-to-tell-if-browser-tab-is-active – Sergey