Отправлять уведомления Chrome Desktop, если - PullRequest
0 голосов
/ 04 декабря 2018

Я создал расширение Chrome и пытаюсь заставить его отправлять уведомления на рабочем столе, когда звонящий входит в очередь, и если он ждал дольше 10 минут.

<tr id="dgrid_0-row-0-tr" class=" ui-state-default dgrid-row dgrid-row-even"><td class="dgrid-cell dgrid-cell-padding dgrid-column-0-0 field-AgentCSQStats csqName dgrid-grouprow-cell" role="gridCell" columnid="presentation" title="HelpDesk" pvalue="HelpDesk">HelpDesk</td><td class="dgrid-cell dgrid-cell-padding dgrid-column-0-1 field-AgentCSQStats currentWaitingCalls dgrid-grouprow-cell" role="gridCell" columnid="presentation" title="0" pvalue="0">0</td><td class="dgrid-cell dgrid-cell-padding dgrid-column-Fo00001-2 field-Fo00001 dgrid-grouprow-cell" role="gridCell" columnid="presentation" title="00:00:00" pvalue="00:00:00">00:00:00</td></tr>

То естьhtml-источник местоположения на странице, на котором я хочу отслеживать расширение.

Я считаю, что лучший способ сделать это - получить xpath значения, которое я хочу отслеживать.

Я хотел просто проверить количество звонящих в очереди, прежде чем пытаться отслеживать время, которое кто-то ждал в очереди.Вот что я придумал ...

$(document).ready(function() {
setInterval(function() {
    var callercount = document.evaluate( '//*[@id="dgrid_0-row-0-tr"]/td[2]', document, null, XPathResult.ANY_TYPE, null );
    if(callercount > 1) {
            if (Notification.permission !== "granted") {
                Notification.requestPermission();
            else {
                var opt = {
                    type: 'list',
                    title: 'keep burning',
                    message: 'Primary message to display',
                    priority: 1,
                    items: [{ title: '', message: ''}],
                    iconUrl:'../images/icon.png'

                };
                chrome.notifications.create('notify1', opt, function(id) { console.log("Last error:", chrome.runtime.lastError); });

                //console.log("Last error:", chrome.runtime.lastError);  for debug
            };
        };
    };
}, 1 * 1000);

});

Кажется, он не работает ...

манифест ...

"permissions": [
    "tabs",
    "notifications",
    "background",
    "storage",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...