Я возился с очень простым уведомлением о расширении Chrome, которое срабатывает при каждом появлении нового сообщения в определенном канале RSS.Теперь я хочу выделить предыдущие сообщения, чтобы одно и то же уведомление не повторялось повторно.
По сути, я хочу создать цикл или оператор if, который распознает, будет ли тот же пост отправлен в качестве уведомления.
$.get('rssfeed', function(data) {
var $xml = $(data);
$xml.find("item").each(function() {
var $this = $(this),
item = {
title: $this.find("title").text(),
link: $this.find("link").text(),
description: $this.find("description").text(),
pubDate: $this.find("pubDate").text(),
guid: $this.find("guid").text()
}
latestID = item.guid.slice(-8);
var jobTitle = item.title.slice(0, 10);
var jobType = item.title.slice(-46, -16);
console.log(latestID);
console.log(jobType);
var notification = {
type: "basic",
title: jobTitle.replace(/[()]/g,"") + " " + latestID,
iconUrl: "icon48.png",
message: jobType.replace("x", "y"),
requireInteraction: true,
buttons: [{
title: "Go to site!"
}],
};
//rule out if repeated new ID is the same as last ID
/*
ids[0] = latestID;
console.log("ID 0 : " + ids[0]);
console.log("IDS.LENGTH : " + ids.length);
} else if (latestID != ids[0]) {
chrome.notifications.create(notification);
}
*/
chrome.notifications.onButtonClicked.addListener(function () {
window.open(item.link);
});
if (notification.title.includes("term")) {
console.log("contains 'term' – rejected")
//return;
} else {
chrome.notifications.create(notification);
}
});
});
};
что на данный момент нажатие на кнопку уведомления открывает х количество вкладок, равное х раз, когда уведомление было запущено (что приводит к довольно большому количеству вкладок).Следовательно, мне нужно добавить какое-то условное утверждение или подобное.