2016-09-23 2 views
1

Недавно я увидел учебник по youtube о том, как создавать уведомления на рабочем столе, и я подумал, что было бы неплохо иметь его в качестве напоминания. Например, например, я хочу, чтобы определенное напоминание появлялось (как уведомление на рабочем столе) каждые 30 минут. Это напоминание должно срабатывать только при нажатии кнопки триггера. Проблема заключается в том, что с кодом, приведенным ниже, метод setinterval, кажется, только один раз выполняется. Кажется, что это нормально, если я не включаю событие click, но как только я добавлю событие click, он не повторится. Какие-либо предложения?Метод SetInterval выполняется только один раз при событии onlick

Вот отрывок из того, что у меня есть:

<a href="#" id="trigger" onclick="notifyme()">Trigger</a> 

    <script type="text/javascript"> 

     var myVar;   
     function showalert(){ 
       var notify; 
       notify = new Notification('Reminder!',{ 
         body:'How are you?' 
        }); 
        window.location = '?message=' + this.tag; 
       } 
    function notifyme() { 
     myVar = setInterval(showalert, 5000); 
} 

ответ

1

Он работает только один раз, потому что вы перенаправлять браузер с линией window.location = '?message=' + this.tag;, и когда перезагружается страница, вы должны нажать на якорь, чтобы начать интервал снова

<a href="#" id="trigger" onclick="notifyme()">Trigger</a> 

<script type="text/javascript"> 
    var myVar; 

    function showalert() { 
    var notify; 
    notify = new Notification('Reminder!', { 
     body: 'How are you?' 
    }); 

    } 

    function notifyme() { 
    myVar = setInterval(showalert, 5000); 
} 

Обратите внимание, что вы вообще должны просить разрешения, чтобы показать уведомления

function showalert() { 
 
    var notify; 
 
    notify = new Notification('Reminder!', { 
 
    body: 'How are you?' 
 
    }); 
 
} 
 

 
function notifyme() { 
 
    if (Notification.permission === "granted") { 
 
    var myVar = setInterval(showalert, 1000); 
 
    } else { 
 
    Notification.requestPermission(function(permission) { 
 
     if (permission === "granted") { 
 
     var myVar = setInterval(showalert, 1000); 
 
     } 
 
    }); 
 
    } 
 
}
<a href="#" id="trigger" onclick="notifyme()">Trigger</a>

 Смежные вопросы

  • Нет связанных вопросов^_^