Ir ao conteúdo

Posts recomendados

Postado

Boa tarde galera!

 

Estou criando um script que por enquanto estou fazendo testes apenas no console do browser e está funcionando normalmente.

Este script captura alguns textos que aparecem na página com intervalo de 30 segundos e se estes textos satisfizerem uma condição então o browser exibe uma notificação e o texto fica piscando em amarelo.

Funciona normalmente quando determinado texto aparece na página, porém, eu queria adicionar exceções mas não estou conseguindo.

Por exemplo, quero que a notificação seja exibida quando encontrar a palavra "SSD" ou "SSD alguma coisa" , mas não quero que a notificação seja exibida se a palavra "SSD" for acompanhada por exemplo de "NVMe", assim "SSD NVMe".

Estou tentando inserir uma novo loop for mas sem sucesso.

 

Segue o script que estou usando onde a notificação é exibida se qualquer palavra "SSD" aparecer na página:

 

setInterval(function() {
var fisrstTdArr2 = window.frames["main"].document.querySelectorAll(".status .statusSETTING:first-child");
var secondTdArr2 = window.frames["main"].document.querySelectorAll(".status .statusSETTING:nth-child(5)");

for (var i = 0; i<fisrstTdArr2.length; i++) {
  console.log ('PRODUTO: ' + fisrstTdArr2[i].innerText);
  console.log ('VALOR: ' + secondTdArr2[i].innerText);
    if(fisrstTdArr2[i].innerText.toLowerCase().indexOf("SSD") !== -1 || fisrstTdArr2[i].innerText.toLowerCase().indexOf("pendrive") !== -1) {
	

let doo = fisrstTdArr2[i];
let doo2 = secondTdArr2[i];

//#####################   EXIBIR NOTIFICAÇÃO NO NAVEGADOR   #####################

Notification.requestPermission()
.then(()=>{
const notification=new 	Notification("PRODUTO ENCONTRADO",{
body:doo.innerText,
icon:"https://xxxxxx.yyyyyy.png"
});
});

//#####################   EXIBIR NOTIFICAÇÃO NO NAVEGADOR   #####################

function blinkScreen() {
if (doo.style.backgroundColor === "white") {
	doo.style.backgroundColor = "#ffff00";
}
else {
	doo.style.backgroundColor = "white";
}

}
	setInterval(blinkScreen, 800);
	
		delete fisrstTdArr2[i];
        delete secondTdArr2[i];
};
};
}, 30000);

 

 

 

Fiz um teste com um novo loop mas não deu certo:

 

//#####################   EXIBI NOTIFICAÇÃO NO NAVEGADOR   #####################

for (doo.innerText.toLowerCase().indexOf !== "NVMe") {
Notification.requestPermission()
.then(()=>{
const notification=new 	Notification("PRODUTO ENCONTRADO",{
body:doo.innerText,
icon:"https://xxxxxx.yyyyyy.png"
});
});
};

//#####################   EXIBI NOTIFICAÇÃO NO NAVEGADOR   #####################

 

A tentativa de inserir esse loop me retorna erro de sintaxe "expected ')' ".

 

 

Alguma ideia de como posso tratar isso para exibir a notificação somente nos casos de não conter "NVMe"?

 

  • Solução
Postado

Não precisa criar um novo "for", é só incluir a condição dentro do existente:

 

for (var i = 0; i<fisrstTdArr2.length; i++) { console.log ('PRODUTO: ' + fisrstTdArr2[i].innerText); console.log ('VALOR: ' + secondTdArr2[i].innerText); if((fisrstTdArr2[i].innerText.toLowerCase().indexOf("SSD") !== -1 && fisrstTdArr2[i].innerText.toLowerCase().indexOf ("NVMe")==-1) || fisrstTdArr2[i].innerText.toLowerCase().indexOf("pendrive") !== -1) { let doo = fisrstTdArr2[i]; let doo2 = secondTdArr2[i]; //##################### EXIBIR NOTIFICAÇÃO NO NAVEGADOR #####################

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...