Как только я нажимаю кнопку продукта представления, которую я создал в уведомлении, ссылка открывается на новой вкладке, но для второго уведомления ссылка открывает две аналогичные вкладки, и это продолжается. Вкладки увеличиваются по мере увеличения уведомлений. Это сайт электронной коммерцииЯ не могу получить уведомление на рабочем столе для расширения chrome для открытия на той же вкладке
Вот мой код. Я не знаю, где я ошибся.
var messages = [] ;
var ids = [] ;
var latestItem;
$(function(){
engine();
setInterval(engine, 60000);
});
function engine(){
var newItems = [];
$.get('https://www.mysite.or/electronics-video/', function(data){
var htmlData = data;
$data = ($(htmlData).find('.offer').eq(0));
$data.find('.fleft').remove();
$data.find('.rel.observelinkinfo.inlblk.zi3').remove();
$data.find('.suggesttitleright.small.top.abs.zi2.br4.hidden').remove();
$data.find('.thumb.vtop.inlblk.rel.tdnone.linkWithHash.scale4.detailsLink').remove();
$data.find('.color-9.lheight16.margintop5').remove();
$data.find('.breadcrumb.x-normal').remove();
$data.find('.normal.inlblk.pdingtop5.lheight16.color.2').remove();
$('body').append($data);
for(i = 0; i<$data.find('h3.x-large.lheight20.margintop5').length; i++){
ids[i]=($($data).find('td.wwnormal.tright.td-price').eq(i).find('p.price').text()).replace(/\n\r/g, '').trim();
messages[i]= ($($data).find('h3.x-large.lheight20.margintop5').eq(i).find('a.marginright5.link.linkWithHash.detailsLink').text()).replace(/\n\r/g, '').trim();
}
if (latestItem == ids[0]) {
}else if(latestItem === undefined) {
var firstRun = {
type: "basic",
title: "Site Notifier",
message: 'Visit the website for updates on new products',
iconUrl: "origi.png"
}
chrome.notifications.create(firstRun);
latestItem = ids[0];
}else if(latestItem != ids[0]) {
for(j = 0; j<ids.length; j++){
if(latestItem == ids[j]){
break;
}else{
if (messages[j] != " "){
newItems[j]= messages[j].concat(" - ").concat(ids[j]);
}
}
}
latestItem = ids[0];
}
if (newItems.length == 0){
}else{
for(i=0;i<newItems.length; i++){
var myItem = {
type: "basic",
title: "New Product Alert!",
message: newItems[i],
contextMessage: "Site Notifier",
buttons: [{
title: "View Product"
}],
iconUrl: "origi.png"
};
chrome.notifications.onButtonClicked.addListener(function(){
window.open('https://www.mysite.or/electronics-video/');
});
chrome.notifications.create(myItem);
}
}
});
}
Может быть создан образец кода или просто редактирование. –
Это была действительно проблема, не знаю, что вы меня, вытащив –
@CollinKiprono каждый раз, когда вы зацикливаете свой массив ** newItems **, вы добавляете ** onButtonClicked ** прослушиватель, и они умножаются. Вы должны добавить этого слушателя только один раз из этого цикла. –