Calculadora de Tintas

Descubra rapidamente quanto material você necessita para realização do seu projeto.

Qual a superfície será pintada?

Tipo de Produto

Número de Demãos

As dimensões da superfície a ser pintada

Informe se existe portas ou janelas

Portas
Janelas
Tinta Spray Cinza Claro Uso Geral Color Jet

Tinta Spray Cinza Claro Uso Geral Color Jet

SKU 26509
R$ 28,20
1 x de R$ 25,38 sem juros (Desconto de 10%) no Pix
Pagamento com Cartão

1 x sem juros de R$ 28,20 no Pagamento com Cartão

2 x sem juros de R$ 14,10 no Pagamento com Cartão

    • 1
      Modelo
      Spray Indisponível
Aproveite, ainda temos 255 itens no estoque
R$ 28,20
Quantidade
Tinta Spray Cinza Claro Uso Geral Color Jet

Tinta Spray Cinza Claro Uso Geral Color Jet

R$ 28,20
1 x de R$ 25,38 sem juros (Desconto de 10%) no Pix

Compre os 2 itens

Produtos que você já viu

Você ainda não visualizou nenhum produto

Termos Buscados

Você ainda não realizou nenhuma busca

Utilizamos cookies para oferecer melhor experiência, melhorar o desempenho, analizar como você interage em nosso site e personalizar conteúdo. Ao utilizar este site, você concorda com o uso de cookies

document.addEventListener("DOMContentLoaded", function() { console.log("Manus AI: Script de lazy loading iniciado."); // Função para aplicar o lazy load em uma imagem específica. const lazyLoadImage = (img) => { // Verifica se a imagem já tem o atributo loading="eager" ou a classe 'no-lazy' // para garantir que a imagem LCP ou outras imagens críticas não sejam lazy-loaded. if (img.getAttribute('loading') === 'eager' || img.classList.contains('no-lazy')) { console.log(`Manus AI: Ignorando lazy loading para imagem crítica (loading=eager ou .no-lazy): ${img.src || img.getAttribute('data-original') || img.getAttribute('data-src')}`); return; } // Verifica se o navegador suporta o atributo loading="lazy" nativamente. if ('loading' in HTMLImageElement.prototype) { img.setAttribute('loading', 'lazy'); console.log(`Manus AI: Aplicado loading="lazy" para: ${img.src || img.getAttribute('data-original') || img.getAttribute('data-src')}`); // Se a imagem tem um 'data-original' ou 'data-src' e o 'src' não está definido ou é um placeholder, // move o 'data-original'/'data-src' para 'src' para que o navegador com lazy loading nativo o use. if (img.hasAttribute('data-original') && (!img.src || img.src.includes('placeholder') || img.src.includes('data:image/gif;base64'))) { img.src = img.getAttribute('data-original'); console.log(`Manus AI: SRC atualizado para data-original (nativo): ${img.src}`); } else if (img.hasAttribute('data-src') && (!img.src || img.src.includes('placeholder') || img.src.includes('data:image/gif;base64'))) { img.src = img.getAttribute('data-src'); console.log(`Manus AI: SRC atualizado para data-src (nativo): ${img.src}`); } // Para imagens com srcset, também garante que o srcset seja carregado if (img.hasAttribute('data-srcset') && !img.srcset) { img.srcset = img.getAttribute('data-srcset'); console.log(`Manus AI: SRCSET atualizado para data-srcset (nativo): ${img.srcset}`); } } else { // Fallback para navegadores mais antigos usando IntersectionObserver. // Este observador só carrega a imagem quando ela entra na viewport. const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { const image = entry.target; console.log(`Manus AI: IntersectionObserver: Imagem ${image.src || image.getAttribute('data-original') || image.getAttribute('data-src')} entrou na viewport.`); if (image.hasAttribute('data-original')) { image.src = image.getAttribute('data-original'); console.log(`Manus AI: IntersectionObserver: SRC atualizado para data-original: ${image.src}`); } else if (image.hasAttribute('data-src')) { image.src = image.getAttribute('data-src'); console.log(`Manus AI: IntersectionObserver: SRC atualizado para data-src: ${image.src}`); } if (image.hasAttribute('data-srcset')) { image.srcset = image.getAttribute('data-srcset'); console.log(`Manus AI: IntersectionObserver: SRCSET atualizado para data-srcset: ${image.srcset}`); } // Remove o observador depois que a imagem é carregada. observer.unobserve(image); } }); }, { rootMargin: '0px 0px 200px 0px' }); // Carrega 200px antes de entrar na viewport observer.observe(img); console.log(`Manus AI: IntersectionObserver aplicado para: ${img.src || img.getAttribute('data-original') || img.getAttribute('data-src')}`); } }; // Seleciona todas as imagens na página que podem se beneficiar do lazy loading. // Exclui imagens que já possuem loading="eager" ou que são placeholders comuns (1x1 pixel gif, etc.) // ou que já estão sendo carregadas (src já preenchido e não é placeholder). const imagesToLazyLoad = document.querySelectorAll('img:not([loading="eager"])'); console.log(`Manus AI: Total de imagens candidatas a lazy loading encontradas: ${imagesToLazyLoad.length}`); imagesToLazyLoad.forEach(img => { // Verifica se a imagem já tem um src válido e não é um placeholder antes de aplicar o lazy load. // Isso evita que imagens já carregadas sejam processadas desnecessariamente. if (img.src && !img.src.includes('placeholder') && !img.src.includes('data:image/gif;base64')) { console.log(`Manus AI: Imagem já carregada ou com SRC válido, ignorando lazy load: ${img.src}`); return; } lazyLoadImage(img); }); // Observa mudanças no DOM para aplicar lazy loading a imagens adicionadas dinamicamente. const observerConfig = { childList: true, subtree: true }; const bodyObserver = new MutationObserver((mutationsList) => { for (const mutation of mutationsList) { if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { mutation.addedNodes.forEach(node => { if (node.nodeType === 1 && node.tagName === 'IMG') { console.log(`Manus AI: Nova imagem adicionada dinamicamente: ${node.src || node.getAttribute('data-original') || node.getAttribute('data-src')}`); lazyLoadImage(node); } else if (node.nodeType === 1) { // Se o nó adicionado não for uma imagem, verifica se contém imagens. const newImages = node.querySelectorAll('img'); newImages.forEach(img => { console.log(`Manus AI: Nova imagem em nó adicionado dinamicamente: ${img.src || img.getAttribute('data-original') || img.getAttribute('data-src')}`); lazyLoadImage(img); }); } }); } } }); bodyObserver.observe(document.body, observerConfig); console.log("Manus AI: MutationObserver configurado para detectar novas imagens."); });