如何才能在瀏覽器選項卡/窗口處於活動狀態時僅執行一次該功能?當窗口處於活動狀態時執行腳本
$(function(){
noty({text:'Here is my text',type:'error'});
return false;
});
如果我使用:執行
$(window).one('focus', function(){
的功能,但只有當我離開的標籤,再回來。
任何想法?
非常感謝
如何才能在瀏覽器選項卡/窗口處於活動狀態時僅執行一次該功能?當窗口處於活動狀態時執行腳本
$(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